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