ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

PHPの実行時間の制限を変更する方法

動的に変える方法があったんですね。

f:id:AJYA:20130503220816j:plain

photo credit: wwarby via photopin cc

 

タイムアウトが発生 

クレジットカード決済を行うプログラムがあり、今年用に修正を行いました。

テスト環境で動作させると、タイムアウトで終了してしまいました。

 

テスト環境のmax_execution_timeを確認すると、30秒に設定されていました。

処理する対象は600件以上あるため、30分に設定する必要があります。

 

タイムアウトを防ぐ方法 

テスト環境は自分のパソコンなので、設定を変更できますが、本番環境は設定を変更できません。

.htaccessに記述する方法が使えるかもわからないので、他の方法がないか探しました。

 

探した結果、set_time_limit関数でタイムアウトまでの時間を変更できることがわかりました。

set_time_limit(1800);

とすることで、タイムアウトにならないで処理ができるようになりました。

 

今回学んだこと

今まで全体の設定が変更になる方法しかしりませんでしたが、個別に設定する方法がわかったので、適切に使っていきたいです。