ホームページ >バックエンド開発 >PHPチュートリアル >set_time_limit(0) についての質問?

set_time_limit(0) についての質問?

WBOY
WBOYオリジナル
2016-06-23 13:58:271787ブラウズ

iis サーバーの下で、php の set_time_limit (0) が機能しないのはなぜですか?

set_time_limit(0); $time_start = time(true);
while ($chk === false) {

$time_end = time(true); > 80) {

、、、、、、、、、そして500エラーが報告されました。

は、iis で php を使用したことがないことを意味します。 。 。


500エラーは、php.iniのdisplay_errors = Onが設定されておらず、whileループ$time_end - $time_startが常に0に等しいためですか

Apache環境で正常にテストできたかどうかはわかりません。これはサービスに関連しています


500 エラーは、php.ini で display_errors = On が設定されておらず、while ループ $time_end - $time_start が常に 0 に等しい必要があるためですか?

なぜ $time_end - $time_start にする必要があるのでしょうか?常に 0 に等しいですか?

Apache 環境ではテストは成功しましたが、サービスに関連しているかどうかはわかりません。

iis ではどのように設定すればよいですか?

80 をより小さい値に変更するだけです。

最大実行時間を超過しましたか?エラープロンプト機能をオンにして確認してください。

ああ、最大実行時間とは関係のない set_time_limit(0); を追加しました。


エラープロンプト機能をオンにして、エラーがあるかどうかを確認します。

いくつかの理由を確認してください:

1. PHP はセーフ モードで実行されていますか? 実行されている場合、set_time_limit は無効です。


2. IIS サーバー自体にはタイムアウトが設定されており、優先度が高くなります。PHP をタイムアウトしないように設定しても、サーバーのタイムアウト機構によりタイムアウト処理が実行されるため、その後に致命的なエラーが発生します。タイムアウト、その結果 500 Wrong の理由。 この記事を参照してください: http://www.iisadmin.co.uk/?p=7

ああ、set_time_limit(0); を追加しました。これは最大実行時間とは関係ありません。

エラープロンプト機能をオンにして、エラーがあるかどうかを確認します。

エラープロンプト機能をオンにしましたが、ログにエラープロンプトは見つかりませんでした。

問題は解決しました。これは確かに iis7 の問題です。
IIS7 ->FastCGI 設定 ->「php-cgi.exe」をダブルクリック ->「アクティビティ タイムアウト」項目はデフォルトで 70 に設定されています。最大値の 2592000 に変更しました。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。