phpページ関数によるタイムアウト制限の設定方法

1393 ワード

この例では、phpページ関数がタイムアウト制限を設定する方法について説明します.皆さんの参考にしてください.具体的な方法は以下の通りです.
ページプログラムの実行オーバーに遭遇するとFatal error:Maximum execution time of 300 seconds exceededに注意します.プログラムの実行時間が最大許容実行時間を超えたため、解決策はいくつかまとめました.
関数については、次の方法を使用して、関数にタイムアウト時間を直接設定して操作することができます.コードは次のとおりです.

   declare(ticks = 1); 
  
    function a(){
    sleep(10);
    echo "a finishi ";
}
function b(){
    echo "Stop ";
}
function c(){
    usleep(100000);
}
 
function sig(){
    throw new Exception;
}
 
try{
    pcntl_alarm(1);
    pcntl_signal(SIGALRM, "sig");
    a();
    pcntl_alarm(0);
}catch(Exception $e){
    echo "timeout ";
}
b();
a();
b();

ファイルまたはプログラムコードにはset_を使用できます.time_LimitはPHPプログラムのタイムアウト時間を設定するだけです.
解決方法:
1.phpを修正する.iniファイル、コードは以下の通りです.

   max_execution_time = 30; // Maximum execution time of each script, in seconds   30 ,      . 
 

変更が終わったらphpを再起動することを覚えていて、この方法は変更してすべてのプログラムに対して発効します.
2.プログラムを変更し、デフォルト値(30秒)を超えるスクリプトにコードを追加します.

   set_time_limit(300); //           300  
 

0に設定すると無制限の場合を表します.
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.