私は一般的にMagentoのトラブルシューティングを扱っており、トレースが適切な情報を提供していることを発見しましたが、非常に短い傾向があります。
Magentoの内部はわかりませんが、PHPのdebug_backtrace
機能に関連していると思いますか?
この場合、再現可能なエラーの出力トレースのサイズを変更するにはどうすればよいですか?変更する高レベルの設定(使用などini_set
)はありますか、それともコアコードの編集が必要ですか?
私は一般的にMagentoのトラブルシューティングを扱っており、トレースが適切な情報を提供していることを発見しましたが、非常に短い傾向があります。
Magentoの内部はわかりませんが、PHPのdebug_backtrace
機能に関連していると思いますか?
この場合、再現可能なエラーの出力トレースのサイズを変更するにはどうすればよいですか?変更する高レベルの設定(使用などini_set
)はありますか、それともコアコードの編集が必要ですか?
2番目の引数について質問している場合、残念ながら、これを行う簡単な方法はありません。debug_backtrace
関数はapp/code/core/Mage/Core/functions.php::mageDebugBacktrace
引数なしで呼び出されます。したがって、それを変更する唯一の方法は、ファイル全体をにコピーし、app/code/local/Mage/Core/functions.php
必要に応じて変更することです。ただし、この方法にはいくつかの悪影響があり、使用することはお勧めしません。
ショートバージョン:xDebugのようなものを使用することはできず、非常に遅くなります。
ログに記録された例外には、コードの完全な「トレース」は含まれていません。箱から出して、PHPはこの情報を追跡しません。debug_backtrace
返される出力はコールスタックです。呼び出しスタックは、現在の深さに到達するためにかかった関数/メソッド呼び出しを返します。例えば
function a(){
b();
c();
}
function c()
{
d();
}
function d()
{
//DEBUG HERE
}
//start program
a();
関数でコールスタックを取得した場合、次の//DEBUG HERE
ようになります。
a();
c();
d();
この関数b()
はすでに呼び出されているため、含まれていません。 これは、PHPが返すことができる唯一の情報です。完全なバックトレースには非常に多くの情報が含まれ、パフォーマンスは停止します。
完全な関数トレースが必要な場合は、xDebugなどの拡張機能をインストールし、そのトレース機能を使用する必要があります。ただし、これはプロダクションストアには適していません。追跡するには、情報が多すぎます。