Windows7のApacheサーバーでcakePHPアプリケーションを実行するとスタックオーバーフローが発生していると思います。
この問題は、Apacheのデフォルトのスタックサイズが小さいため、Windowsプラットフォームでより頻繁に発生します。 Unix/Linuxプラットフォームの8 MBとは異なり、Windowsのデフォルトのスタックサイズは1 MBです。たとえば、PHPスクリプトはLinuxでは正しく機能しますが、WindowsではApacheがクラッシュする原因となる理由が考えられます。
さらに、クラッシュはサイレント(セグメンテーション違反)で、エラーメッセージは表示されず、Apacheは応答を停止し、子プロセスが再開されます。ブラウザーはデータを取得せず、空白のページをレンダリングするため、何が問題なのかを判断するのは少し難しいです。
これは、PHPで長い正規表現を使用する場合によくある問題です。
Apacheのエラーログにのみ、子プロセスがクラッシュしたという通知が1つあります。
Parent: child process exited with status ... -- Restarting
Apacheのスタックサイズを変更する最良の方法は、Apacheの構成ファイルでThreadStackSizeディレクティブを使用することです。 ApacheのドキュメントにThreadStackSizeディレクティブの説明があります: http://httpd.Apache.org/docs/2.2/mod/ mpm_common.html#ThreadStackSize
したがって、WindowsでのApacheのスタックサイズの増加は次のようになります。
<IfModule mpm_winnt_module>
ThreadStackSize 8388608
</IfModule>
これらの行は、Apacheの構成ファイルに配置する必要があります。簡単にするために、httpd.confに置くことができます。または、(必須ではありませんが)それをhttpd-mpm.confファイルに入れ、httpd.confこの行のコメントを解除します。 :
Include conf/extra/httpd-mpm.conf
Apacheのスタックサイズを8MBに設定するため、Linuxのデフォルト値と同じです。
そしてApacheを再起動することを忘れないでください! :)