PHP:スクリプト実行時のタイムアウト時間を変更「max_execution_time」

PHPで大量のデータを処理する時にタイムアウト強制終了)してしまうことがあります。

タイムアウトする時間を設定する場合は、php.inimax_execution_timeの値を変更します。

システムの処理内容によっては、重い処理を行わなければいけないことがあります。
その場合は、max_execution_timeを調整しタイムアウト時間を変更すればエラーを回避することができます。

下記にphp.inimax_execution_timeの値を変更し、スクリプトタイムアウト時間実行時間)を変更した時の方法をメモします。


php.iniのタイムアウト時間を変更

SSHでサーバにログインします。

ログイン後、php.iniを編集します。

vi /etc/php.ini

max_execution_timeの値は秒単位で指定します。

max_execution_time = 30

↓変更

max_execution_time = 120

Apacheを再起動すれば反映されます。

/etc/init.d/httpd restart

■ タイムアウトの時間を無制限にする場合

タイムアウトの制限をかけずに無制限に設定する場合は
max_execution_timeの値を「0」に設定します。

max_execution_time = 0

上記の方法でスクリプトのタイムアウトする時間を調整することができます。

しかし、max_execution_timeはサーバの負荷を防止する為にあるので、
無制限に設定したり、大き過ぎる値を設定するなどは避けた方がいいと思います。

プログラムでバグがあった場合、長時間処理を実行して強制終了せずに
スクリプトが動いてしまうという可能性があるからです。