オンラインソースからJSONファイルをダウンロードしていて、ループが実行されると、次のエラーが発生します。
致命的なエラー:24行目のC:\ wamp \ www \ temp \ fetch.phpで最大実行時間が30秒を超えました
オンラインソースからJSONファイルをダウンロードしていて、ループが実行されると、次のエラーが発生します。
致命的なエラー:24行目のC:\ wamp \ www \ temp \ fetch.phpで最大実行時間が30秒を超えました
回答:
あなたのループは無限かもしれません。そうでない場合は、次のように最大実行時間を延長できます。
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
そして
set_time_limit(300);
時間制限を一時的に延長するために使用できます。
私は同じ問題を抱えていたとのparamの値を変更することで、それを解決するmax_execution_time
にはphp.ini
、次のように、:
max_execution_time = 360 ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)
max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB by default)
これがお役に立てば幸いです。
php.ini
/etc/php5/apache2/php.ini
... で見つけることができます。私はubuntu 13.04を使用しています...
上記のすべての答えは正しいですが、場合によっては簡単な方法で回避しています。
このコマンドをスクリプトの最初に挿入するだけです。
set_time_limit(0);
スクリプトがタイムアウトしています。見てみましょうは、set_time_limit()実行時間までの機能を。または、スクリプトをプロファイルして、実行速度を上げます。
上記のすべてが機能しない場合.htaccess
は、スクリプトが置かれているディレクトリにファイルを追加し、これを中に入れます
<IfModule mod_php5.c>
php_value post_max_size 200M
php_value upload_max_filesize 200M
php_value memory_limit 300M
php_value max_execution_time 259200
php_value max_input_time 259200
php_value session.gc_maxlifetime 1200
</IfModule>
これは私が私の問題を解決した方法であり、私の問題ini_set('max_execution_time', 86400);
もset_time_limit(86400)
解決しませんでしたが、.htaccessメソッドはそうしました。
パスに従ってください/etc/php5(your php version)/apache2/php.ini
。
それを開いてmax_execution_time
、目的の値に設定します。
PHPスクリプトの先頭に次の行を追加して、スクリプトの実行時間を増やします。
ini_set('max_execution_time', 120); //120 seconds = 2 minutes
PHPスクリプトの実行時間の増加からの参照
を拡張するmax_execution_time
には、ini_set
またはを使用できますset_time_limit
。
// Set maximum execution time to 10 seconds this way
ini_set('max_execution_time', 10);
// or this way
set_time_limit(10);
sleep(2);
ini_set('max_execution_time', 5);
register_shutdown_function(function(){
var_dump(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);
});
for(;;);
//
// var_dump outputs float(7.1981489658356)
//
そのため、スクリプトを実行できる最大時間を正確に設定する場合は、コマンドを最初にする必要があります。
これら2つの関数の違いは
set_time_limit
成功したかどうかの情報は返しませんが、エラー時に警告をスローします。ini_set
成功した場合は古い値、失敗した場合は警告/エラーなしでfalseを返します