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