子域上的CakePHP

时间:2012-06-19 16:46:26

标签: apache cakephp cakephp-1.3

我有一个内置在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);

    }
}

更新

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

1 个答案:

答案 0 :(得分:0)

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

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

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