1

我有一个内置 cakePHP (1.3) 的网络应用程序现在可以正常工作了一段时间。客户想要内置一堆新特性/功能,所以我在我的开发环境中完成了所有这些。我要求主机设置“staging.domain.com”,以便我可以上传代码并让客户审核。它在同一个盒子上,/var/www/staging而不是真正的应用程序上/var/www/html

这是问题所在:没有一个 css/js/images 被拉入。

mod_rewrite已打开(选中)并且所有定义的路径似乎都是正确的,并且 app/tmp 目录的权限设置为 777。我很难过。这可能是我缺少的一些简单的东西。

可以肯定的是,我在我的default.ctp布局文件中重复了一些定义(所以如果它拉动蛋糕就可以工作)。

APP_DIR - app
ROOT - /var/www/staging
WEBROOT_DIR - webroot
WWW_ROOT - /var/www/staging/app/webroot/
CAKE_CORE_INCLUDE_PATH - /var/www/staging

Server[DOCUMENT_ROOT] => /var/www/staging

这是我的apache_get_modules

Array ( [0] => core [1] => prefork [2] => http_core [3] => mod_so 
[4] => mod_auth_basic [5] => mod_auth_digest [6] => mod_authn_file 
[7] => mod_authn_alias [8] => mod_authn_anon [9] => mod_authn_dbm 
[10] => mod_authn_default [11] => mod_authz_host [12] => mod_authz_user 
[13] => mod_authz_owner [14] => mod_authz_groupfile [15] => mod_authz_dbm 
[16] => mod_authz_default [17] => util_ldap [18] => mod_authnz_ldap 
[19] => mod_include [20] => mod_log_config [21] => mod_logio [22] => mod_env 
[23] => mod_ext_filter [24] => mod_mime_magic [25] => mod_expires 
[26] => mod_deflate [27] => mod_headers [28] => mod_usertrack 
[29] => mod_setenvif [30] => mod_mime [31] => mod_dav [32] => mod_status 
[33] => mod_autoindex [34] => mod_info [35] => mod_dav_fs 
[36] => mod_vhost_alias [37] => mod_negotiation [38] => mod_dir 
[39] => mod_actions [40] => mod_speling [41] => mod_userdir [42] => mod_alias 
[43] => mod_substitute [44] => mod_rewrite [45] => mod_proxy 
[46] => mod_proxy_balancer [47] => mod_proxy_ftp [48] => mod_proxy_http 
[49] => mod_proxy_ajp [50] => mod_proxy_connect [51] => mod_cache 
[52] => mod_suexec [53] => mod_disk_cache [54] => mod_cgi [55] => mod_version 
[56] => mod_perl [57] => mod_php5 [58] => mod_python [59] => mod_ssl )

有人遇到过这个吗?


更新:为每个请求添加 app_controller.php 代码。

class AppController extends Controller {
    var $components = array ('Session','SparkPlug.Authsome' => 
    array('model' => 'User'));
    var $uses = array('SparkPlug.UserGroup');

    function beforeFilter() {
        parent::beforeFilter();
        SparkPlugIt($this);
        $this->set('user',$this->Authsome->get());

        $user = $this->Authsome->get();
        $notificationOptions = array(
            'conditions' => array(
                'User.id' => $user['User']['id'],
            ),
            'fields' => 'phone',
        );
        $notifications = $this->User->find('first',$notificationOptions);
        $notificationItems = count(json_decode($notifications['User']['phone']));
        $this->set('notificationItems',$notificationItems);

    }
}

更新

感谢那些为我研究这个问题的人。刚刚收到我的系统管理员发来的一封电子邮件,说他在配置中打错了:-/ 之后去检查它,是的,现在一切正常。没有多少编码可以解释这一点。当您无法直接访问服务器时,您必须依赖其他人。无论如何,也许这个问题有一天会对其他人有所帮助。

4

1 回答 1

0

如果我是你,我会在 /var/html/staging/ 目录中创建一个单独的 APP 实例 - 并编辑 /app/webroot/index.php 中的路径定义以指向 /var/www/ 中的蛋糕核心html/蛋糕。

然后,您可以根据需要根据您的喜好定制该 APP 目录。

请注意,这纯粹是出于代码审查的目的。在任何情况下,您都不应该将核心代码上传到生产环境进行测试!

于 2012-06-19T19:11:01.063 回答