ApacheでのFastCGIによるInternal Server Error
突然のInternal Server Error
Webシステムで長時間処理を行っていた際、なぜか唐突にリクエストが中断され、Internal Server Errorとなった。
サーバー環境としては、以下の通り。
- Windows Server
- Apache2.4
- PHP7
- FastCGI
メモリ上限
タイムアウトにしては設定時間前にエラーが返ってきている。かなり重めの処理を行っているので、メモリの使用上限をphp.ini上で解除して再度実行してみたけれど、状況変わらず。
ログ
何かそれらしい情報がないかと思って探ってみるも、全くエラーの情報が出力されておらず。
mpm_winnt
設定ファイルを読み込むようにしてみたのだけれど、結果変わらず。
httpd.conf
設定ファイルの見直し。タイムアウトの設定は十分だし、リクエストの問題でもない。
<IfModule fcgid_module>
FcgidInitialEnv PHPRC "c:/php"
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 0
FcgidMaxRequestLen 30000000
FcgidIOTimeout 1800
FcgidConnectTimeout 1800
</IfModule>
公式のドキュメントを見てみると、それらしき設定を発見。
https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidbusytimeout
確かに時間的にもデフォルトの時間でエラーとなっているっぽいし、重めの処理だから中断されてしまったのかもしれない。そもそもの作りがよくないのだとも言えるけれど。
早速追加して再度実行してみるとエラーは回避された。
最終的に以下のように。
<IfModule fcgid_module>
FcgidInitialEnv PHPRC "c:/php"
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 0
FcgidMaxRequestLen 30000000
FcgidIOTimeout 1800
FcgidConnectTimeout 1800
FcgidBusyTimeout 1800
</IfModule>
Author And Source
この問題について(ApacheでのFastCGIによるInternal Server Error), 我々は、より多くの情報をここで見つけました https://qiita.com/maruga/items/64b2786c348b82cf63a6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .