web-dev-qa-db-ja.com

Magento空白の白い画面をデバッグする方法

Magentoバックエンドでエラーが発生し、空白の画面(WSOD)が表示されます。 adminでエラーをオンに設定しましたが、var/logs /には何も作成されていません。 (そのディレクトリの権限を確認しましたが、すべて正しいです)。

また、index.phpにini_set( 'display_errors'、1)があり、Magentoは開発者モードに設定されています。また、Apacheおよびphpのエラーログを有効にしました。

エラーは記録されていませんか?!

誰もエラーが表示されない理由についての手がかりを持っていますか?私が混乱しているように!ありがとう

46
sulman

これは私がそれを修正した方法です(希望があなたたちを助けるでしょう):

  1. 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);
    }
    
  2. 私の場合、error/503.phpが利用できないことを教えてくれました。

3.問題は私が使用した証言拡張機能にありました( http://www.magentocommerce.com/magento-connect/magebuzz-free-testimonial.html

  1. App/etc/modules/testimoanial.xmlのtestimonial.xmlファイルを削除しました。
  2. 「maintenance.flag」ファイルを削除します。
58
Shashank Saxena

これが起こるたびに、私が最初にチェックするのはPHPメモリ制限です。

Magentoは通常のエラーハンドラーをそれ自体でオーバーライドしますが、エラーが「メモリー不足」の場合、カスタムハンドラーは実行できないため、何も表示されません。

18
clockworkgeek

同じ問題、キャッシュを削除したばかりです

rm -rf var/cache/* 

ほら!何だったのか分からない...

12
JonaPkr

これは、テンプレートの競合と同じくらい簡単です。 System/Configuration/Design/Themes.のデフォルトのテンプレートに戻す

4
user4015

私も同じ問題を抱えていましたが、コンパイラを無効にし、拡張機能を再インストールすると解決しました。コンパイラの無効化は、システム->構成->ツール->コンパイルによって行うことができます。ここでプロセスを無効化します...幸運

3
Pavan Kumar

私もこのエラーに直面していました。このエラーは、app\code\core\Mage\Adminhtml\Block\Widget\Grid.phpのコア関数getRowUrlの内容を変更することで修正されました。コア関数は次のとおりです。

public function getRowUrl($item) 
{ 
$res = parent::getRowUrl($item); 
return ($res ? $res : ‘#’); 
}

交換された :

public function getRowUrl($item) 
{ 
return $this->getUrl(’*/*/edit’, array(’id’ => $item->getId())); 
}

詳細: http://bit.ly/iTKcer

楽しい!!!!!!!!!!!!!

1

私は同じ問題を抱えていた、私のテーマを再インストールした後に解決されました

1

また、適切なphp拡張機能がロードされていない場合もあります。メモリ制限の問題でない場合は、必要なすべてのphp拡張機能がシステムにロードされていることを再確認します。

1
dan.codes

MagentoプロジェクトをWebサーバーにアップロードするときにも同じ問題が発生しました私の場合、Zipファイルはアップロードプロセス中に破損し、PHPファイルの多くも破損しています。 ftpでアップロードしました。これに対する解決策を見つけました。 LinuxマシンからZipファイルを作成する場合は、コマンドラインツールを使用してみてください(例:ie;

Zip -r my_archive.Zip /path/of/files/to/compress/

windows filezillaクライアントからWebサーバーにアップロードします。

これは、テンプレート設定でシンボリックリンクが許可されていないために発生することがあります:Advanced > Developer > Template Settings > Allow Symlinks

0
Roman Snitko

私の解決策:[システム]-> [構成]> [詳細]> [詳細]を使用してプラグインをアクティブにします

0
TonkBerlin

私の場合、index.phpファイルのサイズはゼロでした。元のファイルをコピーして戻しましたが、うまくいきました。

ただし、index.phpの内容が何によって消去されたかはわかりません。

0
Onur Okyay

これは、ページのデバッグ時にxDebugブックマークを使用することによっても発生する場合があります。デバッガーを停止(Cookieを削除)するだけで、通常の状態に戻ります。

0
augsteyer

あなたが言ったように-この問題に対する1つの独立した答えがあります。

テーマを変更した後も同じ問題が発生しました。以前はメモリが1024に設定されていたので、それは問題ではありません。キャッシュがクリアされ、エラーログに有用なものがありませんでした。

私の場合、ソリューションは異なっていました-古いテーマにはカスタムhomepage template ...がありました。標準テーマに切り替えると修正されました。

0
arekstasiewicz

ただこの問題にぶつかり、それを解決するのに丸一日かかりました。増やすようにしてくださいmemory_limit、それは私のために働いた!

0
Kajal

提案されたすべての解決策を試しましたが、運はありませんでした。

最後に、アップグレードする必要がある新しいMagentoバージョンの管理レイアウトとテンプレートとスキンを使用する必要があることがわかりました。たとえば、私の場合は1.9.2.4です

  • Adminhtmlレイアウトとテンプレートを使用して、管理テーマをロード可能にする

-基本的に、すべてのファイルを取得し(最新バージョンのapp/design/adminhtml/defaultから)、これらを現在のサイトのフォルダーapp/design/adminhtml/defaultにコピーアンドペーストして、すべての古いファイルを置き換えます

  • Adminhtmlスキンを使用して、管理テーマを正しく表示できるようにします

-基本的に、すべてのファイルを取得し(skin/adminhtml/defaultの最新バージョン)、これらを現在のサイトのskin/adminhtml/defaultフォルダーにコピーアンドペーストして、すべての古いファイルを置き換えます

もちろん、それを行う前にバックアップを作成することを忘れないでください。

最良の方法は、バージョン管理をGITまたはSVNとして使用することです。

0
NgocDB

別の理由

エラーメッセージのない白い画面の場合、 APCキャッシュ の断片化になる可能性があります。

phpinfo() を使用して、ページで使用されているかどうかを確認します(PHP 5.4 + APC 3.1.13で問題がありました)。あなたどちらか

  • .htaccessで無効にします:_php_flag apc.cache_by_default off_
  • ページが呼び出されるたびにapcキャッシュをクリアします。index.phpの先頭に追加しますapc_clear_cache();(解決策はありませんが、APCが問題であるかどうかを確認してください)

あなたがdoAPCを持っていて、それがisなら、あなたはできた

  • 設定をいじってみてください
  • PHP 5.5に更新し、代わりに統合オペコードキャッシュを使用します。
0
Larzan