web-dev-qa-db-ja.com

致命的なエラー:最大実行時間が0秒を超えました

私のスクリプトは、2つのソースツリーを比較し、変更される可能性のあるファイルのマップを作成し、MD5ハッシュを比較して、diffパッケージを作成します。

28000〜29000ファイルの後、PHPはスクリプトをエラーで終了します:

致命的なエラー:67行目の/root/_PACKER-TESTER/core/diff.class.phpで最大実行時間が0秒を超えました(標準のin_array()呼び出し)

私はすでにmax_input_timeを高い値(またはゼロ)に設定しようとしました-何もしません。

max_execution_timeを99999999999999に設定しても何も起こりません....同じエラー。

18
kiler129

問題は解決しました。litespeed api (lsapi)を使用したphpビルドには、max実行時間を決定するための追加のenv変数があります。 --LSAPI_MAX_PROCESS_TIME(デフォルトは300秒)。

9
kiler129

_max_input_time = -1_に_php.ini_を設定するか、set_time_limit(-1)を使用してみてください。それはPHPを再構築せずに私のために働いた。

この記事 それをうまく説明しています。

23
theamoeba

set_time_limit() を試して、制限時間を設定できるかどうかphpinfo()をチェックインしてください。

set_time_limit(60*60);phpinfo();exit;
0
Marc

「最大実行時間が0秒を超えた」のは、コードが無限ループに入ったことが原因である可能性があることがわかりました。

例えば:

while (true) { ... }

私にとってこのエラーを引き起こします。

それが環境変数でない場合(前述のように)、phpによって報告された行番号の内容を調べてエラーを出します

0
Alan