- ベストアンサー
ApacheモジュールのPHPがメモリを使いすぎるとどうなる?
ApacheモジュールのPHPがメモリを使いすぎるとどうなる? http://okwave.jp/qa/q5756592.html 上記質問を締め切ってしまったので、続けて質問させていただきます。 ApacheモジュールのPHPがメモリを使いすぎて、プロセスが落ちる場合、 PHPが単体で落ちるのでしょうか?それともApacheごと落ちるのでしょうか。 また、どちらだとしても、PHPやApacheは自動で再起動されるのでしょうか。 (サーバの設定によるのかな?)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そのページを表示するために起動されたPHPプロセスが中断されるだけで、アパッチは落ちませんし、別プロセスのPHPは正常に動作し続けます。 仮に二人が同時にサーバーにアクセスしているとして、ひとりは大量メモリを使うページにアクセスしたためメモリ上限に達しPHPが途中で中断されたとしても、もう一人は(そのページがメモリ上限に達するようなページでなければ)普通にページが表示されます。 ※レスポンスが遅くなる可能性はあるかも知れませんが。 大量メモリを使うページに大量のユーザーが殺到して、PHPがアパッチを巻き込んで終了してしまう可能性、あるいは、アパッチがOSを巻き込んで終了してしまう可能性は否定できないかと思いますが、そんなDoS攻撃は質問趣旨とは違うと思うので割愛。 メモリ上限に達したからといって、即アパッチが応答不能になってしまうなんてことはありません。 ※プロセス等の用語は誤用している可能性があります、間違っていた場合内容から推測して読み替えてください。
その他の回答 (2)
OSは何をご利用ですか? Linux系でしたら、PHPモジュールのみが落ちます。
お礼
ありがとうございます。 Linux系を想定しています。 ローカルでのテストはWindowsですが、テスト環境がどうなっても 別に構わない状態です。
- junkUser
- ベストアンサー率56% (218/384)
PHP単体が落ちます。 php.ini の memory_limit に達するとスクリプトは停止します。 指定していない場合、最新版の既定は 16MB です。 また、この設定を大きくしすぎても Apache 側が強制終了させます。 http://jp2.php.net/manual/ja/ini.core.php#ini.memory-limit http://httpd.apache.org/docs/2.2/mod/core.html#rlimitmem
お礼
ありがとうございます。 特に細かい事を考えなくても、基本的に安全てことですね。
お礼
ありがとうございます。 ここまで分かれば大満足です。