• 締切済み

どっちが適用?

こんにちは。質問させてください。 PHPを用いてWEBにDBのデータを表示させようとしています。 DBのデータが膨大なため、 強制終了しないために スクリプト内に set_time_limit(0); を記述しました。 php.iniには max_execution_time = 60 と書かれています。 この場合、SQLの処理が長い場合、 どちらの設定が適用されるのでしょうか? 実際に実行すると60秒で強制終了されますが、 周りの人いわく set_time_limit(0);が適用されるはずなのでおかしいといいます。 宜しくお願いいたします。

みんなの回答

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

確かなことは、わかりませんが、php.iniは該当するコードより先に読まれるとおもうので、 後のほう、コードに記載したset_time_limit(0);が有効になると思います。 (試したことがないのでわかりません) ためしに、そのコードで無限LOOPさせてみてはいかがでしょう? いつまでも終わらないプログラムを作って実行を試してみて、 それでタイムアウトの時間を計測してみては?

pantsu69
質問者

補足

解答ありがとうございます。 上記のとおり実行した結果、set_time_limit(0)が適用されていること がわかりました。 再び質問なんですが、 set_time_limitやmax_execution_timeというのは、 あるPHPファイルが実行開始から、実行終了までの処理時間を 左右するものなのでしょうか? 色々と調べているのですが、 SQL文を発行した開始から、終了までの時間を制御するものって あるのでしょうか? 解答していただいたにもかかわらず質問ぜめにして もうしわけありませんが、宜しくお願いいたします。

すると、全ての回答が全文表示されます。

関連するQ&A