2009-08-06 4 views
0

を短縮例えば、私は、Magentoの中でコールスタックを読んで、彼らが原因の文字列不足に判読できます:PHPのエラーログが文字列

include('/var/www/oneste...') 

を、私はこの場合、完全なパスで、完全な文字列を見ることができますどのように?

答えて

2

xdebugがインストールされていますか?そうならば、これらを試してみてください。

ini_set('display_startup_errors', 1); 
ini_set('display_errors', 1); 
ini_set('xdebug.collect_vars', 'on'); 
ini_set('xdebug.collect_params', '4'); 
ini_set('xdebug.dump_globals', 'on'); 
ini_set('xdebug.dump.SERVER', 'REQUEST_URI'); 
ini_set('xdebug.show_local_vars', 'on'); 

/* Enable XDebug stack traces */ 
ini_set('xdebug.auto_trace', 1); 
ini_set('xdebug.var_display_max_depth', 100); 
ini_set('xdebug.var_display_max_children', 500); 
ini_set('xdebug.var_display_max_data', 5000); 
+0

プロダクションサーバーに上記の設定を行わないようにしてください。 xdebugがインストールされていないと、おそらくエラーや何かが吐き出されます。 – wenbert

+0

そして、Xdebugが実稼働サーバーにインストールされていないことを確認してください:CPU使用率に親切であることは知られていません^^ –

1

をキャッチされない例外が致命的なエラーを上げ、限られたエラー文字列を含んでPHPにデフォルトでは、私が1024文字のようなものに限定されたと思います。例外には多くのトレース情報が含まれているので、これは興味深いビットに到達したときにだけ切り捨てられます。 Magentoだけでなく、PHPのあらゆるOOアプリケーションに存在する問題です。

これを回避するには、エラーを自分で処理し、何かを行う必要があります(ファイルへのログ、電子メールなど)。これを行う方法に関するドキュメントは、次のURLにあります。http://uk.php.net/manual/en/function.set-exception-handler.php

実用的な開発手法(ライブサーバーでは使用しない)は、Harry FuecksのPretty Blue Screenです。アクセスする最初のPHPファイルにこれを含めれば、キャッチされていない例外に関する有用な情報がたくさん表示されます。

http://www.sitepoint.com/blogs/2006/04/04/pretty-blue-screen/

Magentoのは、独自のエラー処理を持っていますが、私は、私は怖いそれに慣れていないんだも可能です。

この投稿にタグexceptとOOを追加するとよいでしょう。