ホームページ  >  記事  >  バックエンド開発  >  PHP スクリプトの実行タイムアウトの解決策_PHP チュートリアル

PHP スクリプトの実行タイムアウトの解決策_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:57:15891ブラウズ

PHP のデフォルトのスクリプト実行タイムアウトは 30 秒です。これを設定しないと、スクリプトが実行されないと 30 秒後にタイムアウトになります。 PHP スクリプトの実行タイムアウトを解決する方法を詳しく説明します。

php.ini のデフォルトの最大実行時間は 30 秒です。php.ini の max_execution_time の値は目標を達成するために調整できますが、場合によっては php.ini を変更する条件がありません。

1 つの方法は、PHP スクリプトに

を追加することです
コードは次のとおりです コードをコピー

ini_set('最大実行時間', '0');

実行時間を 0 (無限値) に設定します。

もう 1 つの方法は、コマンド ラインからスクリプトを実行することです。コマンド ラインからスクリプトを実行する場合、最大実行時間は無制限に設定されます。

php.iniのスクリプト実行時間制限を変更

php.ini を編集し、max_execution_time 値を変更します:

コードは次のとおりですコードをコピー
max_execution_time=500

//この変更を有効にするには、php.ini を再ロードし、Web サーバーを再起動する必要があります。

.htaccess ファイルを通じてスクリプトの実行時間を設定します

コードは次のとおりですコードをコピー
php_value max_execution_time 500

スクリプトで最大実行時間を設定します

コードは次のとおりですコードをコピー
ini_set('max_execution_time', 500);

PHP関数を使用してスクリプトの時間制限を解除します

コードは次のとおりですコードをコピー

set_time_limit は、スクリプトのタイムアウトを設定するために使用されます。この関数は、プログラムが文の実行時から指定された秒数以内に完了するまで実行する必要があることを規定します。タイムアウトが経過すると、プログラムはエラーで終了します。

以下は 10,000 個のデータがあるため、PHP を使用して段階的に処理を実行するコードは次のとおりです。

action.php

set_time_limit(0);

コードは次のとおりですコードをコピー
$stid = isset($_GET['stid'])?$_GET['stid']:0;
$endid = $stid + 100;
$maxid = 10000;

関数 dosomething(){

//時間のかかる操作

}
$sql_string=”select * from `table` where id>'$stid' および id<='$endid' order by id";
$datas = getdata_bysql($sql_string);
foreach($datas as $data){
//データを処理します
…..
echo $id.
”;
if($id>=$maxid){終了;}
}
if($stid $stid = $stid + 100;
$url=”action.php?stid=$stid”;
$url をエコー;
echo ‘';
}
?>

Dosomething() は時間のかかる操作です。ここでは、ID 範囲を制限することで実行時間を短縮します。

JavaScript ジャンプを通じて次のステップを自動的に実行します。

これは、HTML ページを生成するときに dedecms が行うことです。

http://www.bkjia.com/PHPjc/632105.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632105.html技術記事 PHP のデフォルトのスクリプト実行タイムアウトは 30 秒です。30 秒後に設定しないと、スクリプトが実行されないとタイムアウトになります。 PHP スクリプトの実行について詳しく説明します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。