web-dev-qa-db-ja.com

致命的なエラー:最大実行時間が30秒を超えました

私はオンラインソースからJSONファイルをダウンロードしています、そしてそれがループを通過するとき、私はこのエラーを得ています:

致命的なエラー:24行目のC:\ wamp\www\temp\fetch.phpで最大実行時間が30秒を超えました

356
Harsha M V

あなたのループは無限大かもしれません。そうでない場合は、次のように最大実行時間を延ばすことができます。

ini_set('max_execution_time', 300); //300 seconds = 5 minutes
649
Michiel Pater

私は同じ問題を抱えていて、max_execution_timephp.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)

これがお役に立てば幸いです。

171

上記のすべての答えは正しいですが、場合によってはそれを避けるために簡単な方法を使用します。

このコマンドをスクリプトの最初の部分に入れるだけです。

set_time_limit(0);
44
Massa

WordPress 4.0 へのアップグレード中にこの問題に遭遇しました。 デフォルトでは、WordPressは最大実行時間を30秒に制限します。

デフォルトを上書きするには、 WordPressインストール のルートディレクトリにある .htaccess ファイルに次のコードを追加します。

php_value max_execution_time 300  //where 300 = 300 seconds = 5 minutes
21
Fahim

編集 - php.ini

この行を見つけます:

max_execution_time

値を300に変更します。

max_execution_time = 300

300は、http要求の実行時間が5分であることを意味します。

18
Jamil Ahmed

あなたのスクリプトはタイムアウトしています。実行時間を増やすために set_time_limit() 関数を見てください。スクリプトをプロファイルして実行速度を上げます:)

16
tlenss

上記のすべてがうまくいかなかった場合は、スクリプトが置かれているディレクトリに.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メソッドは解決しました。

11
Nassim

この問題を解決する方法は3つあります。

1)php.iniファイルを使う

2).htaccessファイルを使う

3)Wp-config.phpファイルを使う(Wordpress用)

9
KarSho

スクリプトの先頭に次の行を追加して、制限をゼロに設定することで制限を解除できます。

<?php ini_set('max_execution_time', 0); ?>
8
Mwangi Thiga

Php.iniファイルで変更したものがないか確認してください。例えば私は "; intl.default_locale =" に "; intl.default_locale = en_utf8" 追加せずに "国際化拡張(Intl)"を有効にするため "extension = php_intl.dll" それからこれと同じエラーが発生しました。だから私は同様の間違いをチェックすることをお勧めします。

7
Mike G

パス/etc/php5(your php version)/Apache2/php.iniに従ってください。

それを開き、max_execution_timeの値を希望の値に設定してください。

7
Suchit kumar

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 警告やエラーなしに失敗した場合は
5
Buksy

あなたはそれをwhmで簡単にカントーする。 jusstはwhmになった----->サービス設定----------> php設定エディタ------- max_execution_time -----> 30(それはデフォルトでどんな値にも変更する)ほしい)

5
payal

PHPスクリプトの先頭に次の行を追加して、スクリプトの実行時間を長くします。

ini_set('max_execution_time', 120); //120 seconds = 2 minutes

/から参照されている PHPスクリプトの実行時間を長くする

3
JoyGuru

私はWordPressサイトで同じ問題を抱えています、私は私のためにうまく働いて、それから.htaccessファイルに追加しました。

php_value max_execution_time 6000000
2
Ankit K Gupta

私の場合は、xampp\phpMyAdmin\libraries\config.default.phpに変更を加えました。

$cfg['ExecTimeLimit']を検索し、右側の値を変更しています...

右辺値 は、 '5000'のように、もっと高い値に変更できます。そしてそれはうまくいきます。

0
Imad Ullah