
「Maximum execution time of 30 seconds exceeded」が出た場合の対策方法
2016/09/14
phpのエラー絡みの対策。
今回は Maximum execution time of 30 seconds exceeded が出た場合の対策方法です。
Maximum execution time of 30 seconds exceeded 対策
max_execution_time値を変更
エラーメッセージはこんな感じ。
[default]
2014-08-04 11:10:21 Error: Fatal Error (1): Maximum execution time of 30 seconds exceeded in [/sitepass/cakephp/app/Vendor/phpexcel/PHPExcel/Calculation/LookupRef.php, line 677]
[/default]
エラーメッセージの意味は「処理に30秒以上掛かったのでタイムアウトするよ!」って感じですね。
なので、タイムアウトの時間を伸ばしてしまえばOK。
php.ini を編集します。
ルートに変身して、vi を起動。
[default]
vi /etc/php.ini
[/default]
viが起動したら「/」キーを押して検索モードへ。
「max_execution_time」をキーワードにしてあっさりと発見。
[default]
max_execution_time = 30
[/default]
デフォルト値の30が設定されていたので、10倍にしてみました。
[default]
max_execution_time = 300
[/default]
ちなみに
[default]
max_execution_time = 0
[/default]
とすると、例によってタイムアウト時間の制限がなくなります。
あまり大きくしてしまうと、ブラウザのタイムアウト時間に引っかかる畏れがあるので、そのあたりは適当に。
http://jp2.php.net/manual/ja/info.configuration.php#ini.max-execution-time
最後に apache を再起動すれば完了。
[default]
/usr/local/apache2/bin/apachectl restart
[/default]
もしくは
[default]
/usr/local/apache2/bin/apachectl graceful
[/default]
以上です。