0

私はたくさんのことをし、たくさんの出力を生成し、完了するのに数分かかることがあるphpスクリプトを持っています。

すでにset_time_limit(999999)を最初に配置しました。

その前は、明らかに制限時間の30秒を超えて中断されていました。それが起こったとき、それを示す致命的なエラーがログに記録されました。

さて、私がそのスクリプトと呼んでいるブラウザーから、ブラウザーがスクリプトからの出力をほぼリアルタイムで受信するのを観察しますが、ランダムな時点で、スクリプトが中断されるだけです。(明らかに)制限時間を超えず、エラーはまったく記録されません。実際、もう一度試してみると、別の場所で中断されます。

問題は、エラーが発生せず、制限時間に達していない場合、他に何が原因でスクリプトが中断される可能性があるかということです。おそらく、タイムアウトによるクライアント(ブラウザ)からの切断ですか?(ただし、データは常に出力されているため、データの待機はタイムアウトしません)。おそらく、ブラウザはhtmlページの最大サイズを持っている可能性がありますか?

しかし、それがこれら2つのケースのいずれかである場合、なぜこれがエラーとしてログに記録されないのでしょうか。

4

1 に答える 1

0

スクリプトが制限時間に達すると、致命的なエラーがスローされるため、エラーが表示されない場合は、これが原因ではありません(エラー報告がアクティブになっていることを確認し、スクリプトまたはphpで設定してください。 iniファイル)。

時間制限を無効にしたい場合は、代わりにこれを使用してください:

set_time_limit(0);

より多くの情報がなければ、残念ながら私たちはあまり役に立ちません。

于 2012-08-11T01:19:07.657 に答える