it-swarm.com.de

Schwerwiegender Fehler: Maximale Ausführungszeit von 30 Sekunden überschritten

Ich lade eine JSON-Datei von einer Online-Quelle herunter und erhalte beim Durchlaufen der Schleife den folgenden Fehler:

Schwerwiegender Fehler: Die maximale Ausführungszeit von 30 Sekunden in C:\wamp\www\temp\fetch.php in Zeile 24 wurde überschritten

373
Harsha M V

Ihre Schleife könnte endlos sein. Ist dies nicht der Fall, können Sie die maximale Ausführungszeit folgendermaßen verlängern:

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

und

set_time_limit(300);

kann verwendet werden, um die Frist vorübergehend zu verlängern.

678
Michiel Pater

Ich hatte das gleiche Problem und löste es, indem ich den Wert für den Parameter max_execution_time in php.ini wie folgt änderte:

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)

Ich hoffe das konnte dir helfen.

173

Alle obigen Antworten sind richtig, aber ich benutze einen einfachen Weg, um es in einigen Fällen zu vermeiden.

Setzen Sie einfach diesen Befehl an den Anfang Ihres Skripts:

set_time_limit(0);
43
Massa

Ich bin beim Upgrade auf WordPress 4. auf dieses Problem gestoßen. Standardmäßig begrenzt WordPress die maximale Ausführungszeit auf 30 Sekunden.

Fügen Sie den folgenden Code zu Ihrer . Htaccess -Datei in Ihrem Stammverzeichnis Ihrer WordPress-Installation hinzu, um die Standardeinstellung zu überschreiben.

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

Edit php.ini

Finden Sie diese Zeile:

max_execution_time

Ändern Sie den Wert in 300:

max_execution_time = 300

300 bedeutet 5 Minuten Ausführungszeit für die http-Anforderung.

18
Jamil Ahmed

Ihr Skript läuft aus. Schauen Sie sich die Funktion set_time_limit () an, um die Ausführungszeit zu erhöhen. Oder erstellen Sie ein Profil für das Skript, damit es schneller ausgeführt wird :)

16
tlenss

wenn all dies nicht funktioniert hat, fügen Sie dem Verzeichnis, in dem sich Ihr Skript befindet, eine .htaccess -Datei hinzu und fügen Sie diese ein

<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>

auf diese Weise habe ich mein Problem gelöst, weder ini_set('max_execution_time', 86400); noch set_time_limit(86400) haben mein Problem gelöst, aber die .htaccess-Methode hat es gelöst.

11
Nassim

Wir können dieses Problem auf drei verschiedene Arten lösen.

1) Mit php.ini-Datei

2) Verwenden der .htaccess-Datei

3) Verwenden der Datei Wp-config.php (für Wordpress)

9
KarSho

Sie können die Einschränkung aufheben, indem Sie sie auf Null setzen, indem Sie die folgende Zeile oben in Ihrem Skript einfügen:

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

Überprüfen Sie möglicherweise, ob Änderungen in der Datei php.ini vorgenommen wurden. Zum Beispiel habe ich das geändert "; intl.default_locale =" zu "; intl.default_locale = en_utf8" um die "Internationalization extension (Intl)" zu aktivieren, ohne die "extension = php_intl.dll" dann ist derselbe Fehler aufgetreten. Deshalb schlage ich vor, nach ähnlichen Fehlern zu suchen.

7
Mike G

Folgen Sie dem Pfad /etc/php5(your php version)/Apache2/php.ini.

Öffnen Sie es und setzen Sie den Wert von max_execution_time auf einen gewünschten Wert.

7
Suchit kumar

Erhöhen Sie die Ausführungszeit Ihres Skripts, indem Sie die folgende Zeile am Anfang des Skripts PHP einfügen.

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

Der Verweis stammt aus Erhöhen Sie die Ausführungszeit des Skripts PHP

5
JoyGuru

Zum Erweitern Ihres max_execution_time können Sie entweder ini_set oder set_time_limit verwenden.

_// Set maximum execution time to 10 seconds this way
ini_set('max_execution_time', 10);
// or this way
set_time_limit(10);
_

!! Beachten Sie jedoch, dass beide Funktionen neu gestartet werden und auch das Zählen der Zeit, die das Skript für die Ausführung bereits benötigt hat .

_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)
//
_

wenn Sie also genau festlegen möchten, wie lange ein Skript maximal ausgeführt werden kann, muss Ihr Befehl an erster Stelle stehen.

Unterschiede zwischen diesen beiden Funktionen sind

  • set_time_limit gibt keine Information zurück, ob es erfolgreich war, aber es wird eine Warnung bei einem Fehler auslösen.
  • ini_set gibt bei Erfolg den alten Wert zurück oder false bei einem Fehler ohne Warnung/Fehler
5
Buksy

du kannst es leicht mit whm. jusst got to whm -----> Dienstkonfiguration ----------> PHP-Konfigurationseditor ------- max_execution_time -----> 30 (es ist Standard, ändern Sie es auf einen beliebigen Wert Du willst)

5
payal

Ich habe das gleiche Problem in der WordPress Site, das ich in der .htaccess-Datei hinzugefügt habe und das dann gut für mich funktioniert.

php_value max_execution_time 6000000
2
Ankit K Gupta

Ich habe in meinem Fall einige Änderungen vorgenommen: xampp\phpMyAdmin\libraries\config.default.php

ich habe gesucht nach: $cfg['ExecTimeLimit'] und ändere den Wert auf der rechten Seite ...

Sie können rechter Wert auf einen beliebigen höheren Wert ändern, z. B. '5000'. und es funktioniert.

0
Imad Ullah