私は最近、プログラミング能力に挑戦する問題に遭遇しました、そしてそれは非常に偶然の無限ループでした。私はそれを乾かすためにいくつかのコードを書き直し、それが呼び出した正確なメソッドによって繰り返し呼び出されていた関数を変更しました。確かに、初歩的な問題です。Apacheはクラッシュすることで問題を解決することを決定し、ログには「生成された子プロセス」しか記録されませんでした。問題は、私がその日の問題のデバッグを実際に終了したことがなく、午後に発生し、今日それを解決しなければならなかったことでした。
結局、私の解決策は単純でした。ロジックを手動でログに記録し、何が起こったかを確認します。この問題は、2行の一意の行とそれに続く2行がそれぞれ約200回繰り返されるログファイルがある場合にすぐに明らかになりました。
無限ループから身を守る方法は何ですか?そして、それが失敗したとき(そしてそれはそうなるでしょう)、それを追跡するための最速の方法は何ですか?確かに最も効果的なのはログファイルですか、それとも他の何かですか?
それがベストプラクティスである場合、あなたの答えは言語に依存しない可能性がありますが、私はむしろPHP固有の手法とコードに固執したいと思います。