ホームページ  >  記事  >  バックエンド開発  >  PHPの実行タイムアウトを解決する方法

PHPの実行タイムアウトを解決する方法

angryTom
angryTomオリジナル
2019-08-24 09:27:4611317ブラウズ

PHPの実行タイムアウトを解決する方法

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

#推奨マニュアル: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[&#39;stid&#39;])?$_GET[&#39;stid&#39;]: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 サイトの他の関連記事を参照してください。

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