PHP のデフォルトのスクリプト実行タイムアウトは 30 秒です。これを設定しないと、スクリプトが実行されないと 30 秒後にタイムアウトになります。 PHPスクリプトの実行タイムアウトの解決方法を詳しく解説。
#推奨マニュアル:php完全自習マニュアル推奨チュートリアル: php.ini のデフォルトの最大実行時間は 30 秒です。php.ini の max_execution_time の値は目標を達成するように調整できますが、場合によっては php.ini を変更する条件がない場合があります。 .ini. この問題を解決する方法。
1 つの方法は、PHP スクリプトに
ini_set('max_execution_time', '0');を追加して実行時間を 0 (無限値) に設定することです。
もう 1 つの方法は、実行時間を 0 (無限値) に設定することです。 1 つ目はコマンド ラインからスクリプトを実行する方法で、コマンド ラインからスクリプトを実行する場合、最大実行時間は無制限に設定されます。
php.ini のスクリプト実行時間制限を変更します。 php.ini を編集して、max_execution_time 値を変更します。max_execution_time=500 //此修改需要重新加载php.ini,需要重启web服务器生效。を使用してスクリプトの実行時間を設定します。 htaccess file
php_value max_execution_time 500スクリプト内で最大実行時間を設定します
ini_set('max_execution_time', 500);PHP関数を使用してスクリプトの時間制限を解除します
set_time_limit(0);set_time_limitはタイムアウトの設定に使用されますスクリプトの時間。この関数はスクリプトの制限時間を指定します。文が実行されると、プログラムは指定された秒数以内に完了する必要があります。タイムアウトになると、プログラムはエラーで終了します。 以下は例です。データは 10,000 個あります。データの一部を変更するには、PHP を使用して段階的に処理を実行します。コードは次のとおりです。 php
<?php $stid = isset($_GET['stid'])?$_GET['stid']:0; $endid = $stid + 100; $maxid = 10000; function dosomething(){ //要时间比较多的操作 …… } $sql_string=”select * from `table` where id>’$stid’ and id<=’$endid’ order by id”; $datas = getdata_bysql($sql_string); foreach($datas as $data){ //处理数据 ….. echo $id.” 处理完成. <br />”; if($id>=$maxid){exit;} } if($stid<=$maxid){ $stid = $stid + 100; $url=”action.php?stid=$stid”; echo $url; echo ‘<script language=”javascript”>location=”‘.$url.’”; </script>’; } ?>このうち dosomething() は時間のかかる操作ですが、ここでは ID の範囲を制限することで実行時間を短縮し、実行後に JavaScript ジャンプによって次のステップを自動的に実行します。これは、dedecms が HTML ページを生成する方法です。
おすすめ関連記事
:1.
PHP をタイムアウトさせる方法とは2.PHP リクエスト インターフェースを解決する方法タイムアウト
関連ビデオの推奨事項
: 1. Dugu Jiijian (4)_PHP ビデオ チュートリアル
以上がPHPの実行タイムアウトを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。