dポイントプレゼントキャンペーン実施中!

ApacheモジュールのPHPがメモリを使いすぎるとどうなる?

http://oshiete.goo.ne.jp/qa/5756592.html
上記質問を締め切ってしまったので、続けて質問させていただきます。

ApacheモジュールのPHPがメモリを使いすぎて、プロセスが落ちる場合、
PHPが単体で落ちるのでしょうか?それともApacheごと落ちるのでしょうか。
また、どちらだとしても、PHPやApacheは自動で再起動されるのでしょうか。
(サーバの設定によるのかな?)

A 回答 (3件)

そのページを表示するために起動されたPHPプロセスが中断されるだけで、アパッチは落ちませんし、別プロセスのPHPは正常に動作し続けます。


仮に二人が同時にサーバーにアクセスしているとして、ひとりは大量メモリを使うページにアクセスしたためメモリ上限に達しPHPが途中で中断されたとしても、もう一人は(そのページがメモリ上限に達するようなページでなければ)普通にページが表示されます。
※レスポンスが遅くなる可能性はあるかも知れませんが。

大量メモリを使うページに大量のユーザーが殺到して、PHPがアパッチを巻き込んで終了してしまう可能性、あるいは、アパッチがOSを巻き込んで終了してしまう可能性は否定できないかと思いますが、そんなDoS攻撃は質問趣旨とは違うと思うので割愛。

メモリ上限に達したからといって、即アパッチが応答不能になってしまうなんてことはありません。

※プロセス等の用語は誤用している可能性があります、間違っていた場合内容から推測して読み替えてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ここまで分かれば大満足です。

お礼日時:2010/03/18 15:56

OSは何をご利用ですか?


Linux系でしたら、PHPモジュールのみが落ちます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
Linux系を想定しています。
ローカルでのテストはWindowsですが、テスト環境がどうなっても
別に構わない状態です。

お礼日時:2010/03/18 16:00

PHP単体が落ちます。



php.ini の memory_limit に達するとスクリプトは停止します。
指定していない場合、最新版の既定は 16MB です。
また、この設定を大きくしすぎても Apache 側が強制終了させます。

http://jp2.php.net/manual/ja/ini.core.php#ini.me …
http://httpd.apache.org/docs/2.2/mod/core.html#r …
    • good
    • 0
この回答へのお礼

ありがとうございます。
特に細かい事を考えなくても、基本的に安全てことですね。

お礼日時:2010/03/18 15:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!