エラー「Maximum execution time of 30 seconds exceeded」が起きた件
アプリケーションを作成していく中で、
APIを作成して、
WebサーバーとしてNginxを稼働させて、
核処理を実装していたが、
処理的に重たい処理を流したときに、
「Maximum execution time of 30 seconds exceeded」
というエラーが発生した。
そのときに、
色々と調べて試した結果、
PHP-Fpmの設定を変更することでうまくいった。
エラー内容
エラーとしては、
Maximum execution time of 30 seconds exceeded
というエラーが、
Laravelのログの方に出力されていた。
対応内容
この辺りのタイムアウトに関しては、
Nginxの方でも、
send_timeout 1000;
client_body_timeout 1000;
client_header_timeout 1000;
fastcgi_connect_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
keepalive_timeout 1000;
のように対応していたが、
今回、Laravelの方でエラーになっていたので、
PHP-fpmの方があやあしいと考えて調べたら、
php.iniの設定を変更するとうまくいくようだ。
対象ファイルとして、
/etc/php/8.1/fpm/php.ini
のファイルを修正。
対象箇所として、
max_execution_time = 30
という設定値があったので、
無制限の値である「0」に
max_execution_time = 0
という部分を対応して、
PHP-fpmの再起動も忘れずに実施
sudo service php8.1-fpm restart
この対応でうまくタイムアウトせずに、
うまく処理が最後まで動くようになりました。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。