5

Magento ストアのコードをコンパイルしようとしています。最初にコンパイルするとエラーが発生し、Fooman Speedster の高度なモジュールまで追跡しました。ストアのコードからモジュールを完全に削除し、再度コンパイルしました。今回はコンパイルが正常に完了し、すべてのクラス (約 7500) が /includes/src/ フォルダーに表示されました。

ただし、コンパイル後、私のサイトのフロントエンドには死の白い画面が表示され、Apache エラー ログにエラーは生成されません。奇妙なのは、バックエンドが完全に正常に機能していることです。

また、php スクリプトのメモリ制限を 1024M に増やして、php のメモリ不足が問題にならないようにしました。

何が問題であるか、または問題/バグを追跡する方法についての提案。

4

7 に答える 7

16

ここから私の答えを再投稿します。それが役立つことを願っています

管理者ログイン ページに Magento の白い画面が表示されますか?

私は同じ問題に直面しました。実際には、それは商用製品であり、非常に奇妙なサーバー構成を備えた新しいホスティングだったため、さらに悪化しました. そのため、どのログ ファイルにもエラーを表示できませんでした。

私が見つけたように、マジェントの白い画面は、PHPの致命的なエラーが発生したことを意味します。したがって、それらを表示する適切な方法があります。index.php の先頭に追加するだけです

ini_set('error_reporting', E_ERROR);
register_shutdown_function("fatal_handler");
function fatal_handler() {
    $error = error_get_last();
    echo("<pre>");
    print_r($error);
}

そして、magento で実際に何が起こっているかがわかります。

于 2014-01-26T09:11:12.633 に答える
1

var->cache ディレクトリからすべてのフォルダーを削除すると、フロントエンドが機能し始めました。

于 2016-05-01T06:28:26.000 に答える
0

多くの調査とテストを行った結果、コンパイル中に死の白い画面につながるいくつかのエラーが発生する可能性があるという結論に達しました。これらは何らかの理由で表示されず、問題がどこにあるかの手掛かりがありません。ほとんどの場合、カスタム モジュールまたはインストール済みモジュールが原因です。Magento コンパイルをデバッグする唯一の信頼できる方法は、xdebug 構成で xdebug.scream = 1 を使用することです。これにより、エラーファイル/理由が叫ばれ、後で対処できます。

より良い説明がここにあります: http://www.brimllc.com/2012/03/magento-fun-with-debugging-the-magento-compiler/

于 2013-03-07T07:46:19.800 に答える
0

ログにエラーが表示されないもう 1 つの理由は、APC キャッシュである可能性があります。詳細については、こちらの Stackoverflow の回答を参照してください。

あなたはできる

  • .htaccess で無効にします: php_flag apc.cache_by_default off
  • ページが呼び出されるたびに apc キャッシュをクリアします: index.php の先頭に apc_clear_cache(); を追加します。(解決策はありませんが、APC に問題があるかどうかを確認するのは良いことです)
于 2015-11-19T12:42:27.050 に答える
0

これはコンパイルに関する一般的な問題です。/includes/config.php を編集して次の行をコメントアウトすることで、コンパイルを一時的に無効にすることができます。

define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat'); 
于 2013-03-06T13:38:57.753 に答える
0

が読んだPersistent Shopping Cartように、有効にしたときに発生します。

System > Configuration > Persistent Shopping Cart > General Options > Enable Persistence無効に設定して、再試行してください。

ここで見ることができます。

于 2013-03-06T07:10:41.927 に答える