ホームページ  >  記事  >  バックエンド開発  >  XDebug が自動的に PHP スタック トレースをオンにし、PHP ログが 1G_PHP を超えるようになります。

XDebug が自動的に PHP スタック トレースをオンにし、PHP ログが 1G_PHP を超えるようになります。

WBOY
WBOYオリジナル
2016-07-13 10:30:131174ブラウズ

昨日の朝、突然テストサーバーの容量がいっぱいであることに気づき、duを使用して各フォルダーを確認したところ、phpデバッグログが直接1Gを占めていることがわかりました。開いてみると、非常に大きな数が見つかりました。 PHP スタック トレースの数。

すぐにメイン サーバーにアクセスして確認してください。メイン サーバーのログは 400 MB を超えています。幸いなことに、メイン サーバーには十分なスペースがあります。

スタックトレースがたくさんあるので、以前は存在しなかったはずです。ログを 1 つずつ確認すると、ある日の朝に一度に発生したことがわかります。

解決策:

1. 以前に php をアップグレードしたことが原因でしょうか? 以前インターネットで php スタック トレースを検索したところ、開く方法は示されていましたが、閉じる方法は示されていませんでした。 PHP のパラメータを慎重に検索した結果、一見関連しているように見えるものは、ignore_repeat_sources とignore_repeat_error の 2 つだけでしたが、それらを変更しても機能しませんでした。

2. PHP のアップグレードが原因でない場合は、過去数日間にどのような変更が行われたのか、どの変更が PHP トレースに関連しているのかをよく考えてください。まず xdebug を削除してみてください。問題は解決します。 。最初は xdebug の公式ドキュメントに直接アクセスせず、phpinfo を使用して xdebug のすべてのパラメータを入力しました。何度か試した後、それがどのパラメータであるかを推測しました。それはうまくいきませんでした。その後、落ち着いて xdebug の公式ドキュメントを見てみると、次のような文言が見つかりました。

スタックトレース

Xdebug がアクティブ化されると、PHP が通知、警告、エラーなどを表示することを決定したときはいつでもスタック トレースが表示されます。スタック トレースが表示する情報とその表示方法は、ニーズに合わせて構成できます。

興味深いことに、検索を続けると、名前と目的が理解できない変数「xdebug.default_enable」を見つけました。実際には、次のようにこのパラメータによって制御されています。

xdebug.default_enable

タイプ: ブール、デフォルト値: 1 この設定が 1 の場合、スタックトレースはエラー イベントでデフォルトで表示されます。これは Xdebug の基本機能の 1 つであるため、コードからスタックトレースの表示を無効にすることができます。 1. ​ 私はほぼ 1 日この問題に取り組み、学んだことは次のとおりです。予期せぬ問題に遭遇したときは落ち着いてください。これは当初の計画の多くに影響しますが、問題が深刻な場合は、すべての困難を克服して最初に解決する必要があります。習慣が形成されます。また、既製の機能モジュールを使用する場合、最後に検索してもダメだった場合は、落ち着いて公式ドキュメントをよく読む必要があります。

http://www.bkjia.com/PHPjc/766187.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/766187.html技術記事昨日の朝、突然テストサーバーの容量がいっぱいであることに気づき、duを使用してフォルダーを1つずつ確認したところ、phpのデバッグログが巨大な領域を占めていたことがわかりました。非常に多数の PHP スタック...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。