CakePHP フレームワークで Apache/PHP/MySQL スタックを使用する場合、 Cake 内に明確なデバッグ情報がない場合、空白の白いページが発生することがあります。 Apache エラー ログを調べると、次のようなエントリが頻繁に見つかります。
[notice] child pid 3580 exit signal Segmentation fault (11)
このエラーはセグメンテーション違反を示します。セグメンテーション違反は、プログラムがメモリにアクセスしようとしたときに発生する実行時エラーの一種です。アクセスする権限がありません。
GDB を使用したデバッグ
ソースを特定するにはセグメンテーション違反が発生した場合は、GNU デバッガー (GDB) を Apache 子プロセスの 1 つに接続できます。以下にステップバイステップのガイドを示します。
Apache 構成の最適化
セグメンテーション違反の再現が難しい場合は、Apache の構成を次のように変更することを検討してください。リクエストを処理するための子プロセスの使用を制限します。 /etc/apache2/httpd.conf などの構成ファイルに次の行を追加します。
StartServers 1 MinSpareServers 1 MaxSpareServers 1
この構成により、子プロセスが 1 つだけ使用されるようになり、エラーのデバッグが容易になります。
>追加のトラブルシューティング
以下のことを確認してください。 up-to-date:
以上がApache エラー ログの「notice child pid XXXX exit signal Segmentation fall (11)」をデバッグするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。