CakePHP将应用从一台服务器移动到另一台服务器

时间:2012-10-30 14:46:51

标签: deployment cakephp-2.0

我将我的应用程序从一个服务器(开发)移动到其他(发布)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;
    }
}

2 个答案:

答案 0 :(得分:3)

删除

上的所有缓存文件
  • 应用程序/ TMP /高速缓存/模型
  • 应用/ TMP /高速缓存/持久性

答案 1 :(得分:1)

问题很简单。在托管是低版本的PHP。升级后一切都很顺利。

简而言之:如果你在第144行的cake / core / bootstrapping.php中有错误,请升级你的php。