0

アプリをあるサーバー(開発)から別のサーバー(リリース)に移動しましたが、ケーキはケーキコアファイルの1つであるファイルlib / Cake/bootstrap.phpにあります。

以前のアドレス(実行中)はhttp://sdruzenid.kho.cz で、アドレスhttp://sdruzenid.czはエラーです。

すべてのファイルを1つのサーバーから別のサーバーにコピーしました。ハードコードされたアドレスはありませんでした

最初のサーバーでは、アドレサール構造は

ルート:/ sdruzenid
アプリ:/ sdruzenid / appウェブルート:/
sdruzenid / app / webroot
adresar wwwは使用されません(他のウェブがその中で実行され、これは単なるサブドメインであるため)

新しい場所では
ルートです:/ 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;
    }
}
4

2 に答える 2

3

上のすべてのキャッシュファイルを削除します

  • app / tmp / cache / models
  • app / tmp / cache / persistent
于 2012-10-31T08:13:58.270 に答える
1

問題は単純でした。ホスティングでは、phpの低バージョンでした。アップグレード後、すべてうまくいきました。

つまり、144行目のcake / core / bootstrapping.phpにエラーがある場合は、phpをアップグレードしてください。

于 2012-11-05T09:16:03.640 に答える