我将我的应用程序从一个服务器(开发)移动到其他(发布)nad cake落在文件lib / Cake / bootstrap.php中,这是一个蛋糕核心文件。
前地址(正在运行)是http://sdruzenid.kho.cz 在地址http://sdruzenid.cz是错误。
我刚将所有文件从一台服务器复制到另一台服务器。没有硬编码的地址
在第一台服务器上,adresar结构是
root:/ sdruzenid app:/ sdruzenid / app webroot:/ sdruzenid / app / webroot 没有使用adresar www(因为其他网络在其中运行,这只是子域名)
在新的位置 root:/ www app:/ www / app webroot:/ www / app / webroot
当我从app / webroot / index.php打印路径时,它是: ROOT:/ httpd / html / sdruzenidcz / www WWW_ROOT:/ httpd / html / sdruzenidcz / www / app / webroot / CAKE_CORE_INCLUDE_PATH:/ httpd / html / sdruzenidcz / www / lib:/ httpd / html / sdruzenidcz:./
此错误由lib / Cake / bootstrap.php
中的此代码提供App::uses('ErrorHandler', 'Error');
App::uses('Configure', 'Core');
App::uses('CakePlugin', 'Core');
App::uses('Cache', 'Cache');
App::uses('Object', 'Core');
App::$bootstrapping = true;
错误在最后一行。我无法找到定义或设置变量$ bootstrapping的位置,但这是在蛋糕核心和开发部署中它工作正常
在我的代码app / webroot.index.php中,附近的错误是:
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
if (function_exists('ini_set')) {
ini_set('include_path', ROOT . DS . 'lib' . PATH_SEPARATOR . ini_get('include_path'));
}
//it crashes after include of bootstrap.php
if (!include 'Cake' . DS . 'bootstrap.php') {
$failed = true;
}
} else {
if (!include CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php') {
$failed = true;
}
}
答案 0 :(得分:3)
删除
上的所有缓存文件答案 1 :(得分:1)
问题很简单。在托管是低版本的PHP。升级后一切都很顺利。
简而言之:如果你在第144行的cake / core / bootstrapping.php中有错误,请升级你的php。