MAMPを使っていて、重い作業をしていると500エラーで Internal server errorになってしまうことがある。
MAMPのApacheのエラーログ
これで
$ tail /Applications/MAMP/logs/apache_error.log
確認してみると
FastCGI: comm with server "/Applications/MAMP/fcgi-bin/php7.4.12.fcgi" aborted: idle timeout (30 sec)
というエラーになっていて止まっていた。
どうやらタイムアウトで止まっていたよう。
Laravelでの500エラーでかなり調べてもわからなかった。。
問題は、MAMPのApacheにあったようです。
解決方法は、
vi /Applications/MAMP/fcgi-bin/php7.4.12.fcgi
VIの使い方は、「i」で編集モード。保存して終わる場合は「ESCキー」を押して、「:wq」をすればOK 保存しない場合は「:q」でリターンを押す
exec /Applications/MAMP/bin/php/php7.4.12/bin/php-cgi -c "/Library/Application Support/appsolute/MAMP PRO/conf/php7.4.12.ini"
この行の最後に「 -idle-timeout 3600」を入れる(3600は任意で変更してください)
exec /Applications/MAMP/bin/php/php7.4.12/bin/php-cgi -c "/Library/Application Support/appsolute/MAMP PRO/conf/php7.4.12.ini" -idle-timeout 3600
こんなふうに。
MAMP proを再起動する。
これで30秒のタイムアウトはなくなった!!
まあ、Laravelは関係ないかもですが^^;