Apache エラー ログでセグメンテーション フォールトの原因を特定する
Apache エラー ログでは、子プロセスが「セグメンテーション フォールト ( 11)」。これらのセグメンテーション違反はメモリ アクセス エラーによって引き起こされ、デバッグが難しい場合があります。
CakePHP を使用して Apache/PHP/MySQL スタック内でこれらの障害の根本的な原因を調査するには、次の手順をお勧めします。
gdb を子にアタッチするプロセス:
gdb (GNU Debugger) などのデバッグ ツールを、Apache の実行中の子プロセスの 1 つにアタッチします。これにより、クラッシュを観察し、バックトレースを取得できるようになります。
コマンドを実行します:
sudo gdb
attach
実行を継続し、クラッシュを待ちます:
c
を取得しますバックトレース:
バックトレースまたはバックトレース フル。
このバックトレースは、メモリ アクセスの問題とクラッシュの原因となった特定のコードに関する貴重な情報を提供します。
を分析しますバックトレース:
バックトレースを調べて、セグメンテーション違反の原因を特定します。通常、アクセス違反が発生したファイル、行番号、関数が示されます。
問題の再現:
クラッシュが発生した場合断続的に発生する場合は、次の設定を使用して単一の子プロセスで実行するように Apache を構成することを検討してください:
StartServers 1
MinSpareServers 1
MaxSpareServers 1
以上がApache エラー ログのセグメンテーション フォールト (11) をデバッグするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。