2016-05-02 4 views
1

Xdebugのは、現在定義されているのerror_logファイルに全体のバックトレースをログに記録します。Xdebugを作成するには、ページを開くときにバックトレースを表示し、バックトレースを記録しないでください。

CustomLog /var/log/www/access.log combined 
ErrorLog /var/log/www/error.log 
php_value error_log /var/log/www/error.log 

これは問題ありません。しかし、あまりにも多くのログを記録します。私はXdebugをインストールして以来、次のように記録しています。

[02-May-2016 16:14:20 Europe/Berlin] PHP Notice: Undefined variable: k in /var/www/index.php on line 30 
[02-May-2016 16:14:20 Europe/Berlin] PHP Stack trace: 
[02-May-2016 16:14:20 Europe/Berlin] PHP 1. {main}() /var/www/index.php:0 

これは約10回繰り返されます。私はこのようなエラーメッセージだけで大丈夫です:

[02-May-2016 16:14:20 Europe/Berlin] PHP Notice: Undefined variable: k in /var/www/index.php on line 30 

と開いているときにページ上に完全なスタックトレースがあります。出来ますか?メッセージだけを記録し、ページにトレースを表示することに関連するオプションは見つかりません。

  • PHPバージョン5.6.4
  • xdebugのバージョンXDebugドキュメントの後2.4.0
+0

xdebugの設定を共有できますか? – Bobot

+0

何も変更されていません - デフォルトは可能です。 – Mave

+0

https://xdebug.org/docs/stack_traceをチェックしましたが、何も助けにならないことが分かりました:/ – Bobot

答えて

3

xdebug.default_enable = 0 

デフォルト値:1

この設定がある場合1、stacktracesはデフォルトでeに表示されますエラーイベント。 xdebug_disable()を使用してコードからスタックトレースを表示することを無効にすることができます。これはXdebugをの基本的な機能の1つであるので、1。私はむしろにするために、適切なスイッチとxdebug_disable()のスクリプトツリー機能の先頭にどこかに使用することになり

に設定し、この設定のままにすることをお勧めしますそれは、可能な開発状態にdepening、オンとオフ、それをオンにする:あなたは本番環境の設定を変更することが幸せではないでしょう、あなたのサーバを保持する管理者を持っている場合

define('VERBOSE', /* from config/db/etc value of true/false */ false); 
if(!VERBOSE) { 
    xdebug_disable(); 
} 

は、もう少し柔軟性あなたを残します。

+0

これを行う方法は他にありませんので、私はこれに行き、Xdebugをコード内で必要にする。ありがとう! – Mave

関連する問題