Erreur fatale: temps d'exécution Maximum de 30 secondes dépassé
Je télécharge un fichier JSON à partir d'une source en ligne et et quand il traverse la boucle, je reçois cette erreur:
Erreur fatale: temps d'exécution Maximum de 30 secondes dépassé dans C:wampwwwtempfetch.php sur la ligne 24
15 réponses
Votre boucle peut être sans fin. Si ce n'est pas le cas, vous pouvez prolonger le temps d'exécution maximum comme ceci:
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
J'ai eu le même problème et l'a résolu en changeant la valeur du param max_execution_time
dans php.ini
, comme ceci:
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)
J'espère que cela pourrait vous aider.
Toutes les réponses ci-dessus sont correctes, mais j'utilise un simple moyen de l'éviter dans certains cas.
Mettez simplement cette commande au début de votre script:
set_time_limit(0);
J'ai rencontré ce problème lors de la mise à niveau vers WordPress 4.0. par défaut WordPress limite le temps d'exécution maximum à 30 secondes.
Ajoutez le code suivant à votre .htaccess fichier sur votre répertoire racine de votre Installation WordPress pour dépasser la valeur par défaut.
php_value max_execution_time 300 //where 300 = 300 seconds = 5 minutes
Modifier php.ini
Trouvez cette ligne:
max_execution_time
Change sa valeur à 300:
max_execution_time = 300
300 signifie 5 minutes de temps d'exécution pour la requête http.
Votre script prend fin. Jetez un oeil à la fonction set_time_limit () pour augmenter le temps d'exécution. Ou profilez le script pour le faire fonctionner plus rapidement:)
Si tout ce qui précède n'a pas fonctionné pour vous, ajoutez un fichier .htaccess
dans le répertoire où se trouve votre script et placez-le dans
<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>
C'est ce que j'ai résolu mon problème , ni ini_set('max_execution_time', 86400);
ni set_time_limit(86400)
résolu mon problème , mais le .méthode htaccess a fait.
Nous pouvons résoudre ce problème de 3 manières différentes.
1) en utilisant php.fichier ini
2) en utilisant .fichier htaccess
3) en utilisant Wp-config.fichier php (pour Wordpress)
Pour plus de détails -> steptoinstall
, Vous pouvez supprimer la restriction par paramétrer à zéro en ajoutant cette ligne en haut de votre script:
<?php ini_set('max_execution_time', 0); ?>
Suivez le chemin /etc/php5(your php version)/apache2/php.ini
.
Ouvrez-le et définissez la valeur de max_execution_time
sur une valeur souhaitée.
Peut-être vérifier tout ce que vous avez changé sous le php.fichier ini. Par exemple, j'ai changé le ";intl.paramètre default_locale =" à ";intl.default_locale = en_utf8 "{[2] } afin d'activer l '" extension D'internationalisation (Intl)" sans ajouter le "extension=php_intl.dll " alors cette même erreur s'est produite. Je suggère donc de vérifier les erreurs similaires.
Vous pouvez le faire facilement avec whm . jusst est arrivé à whm - - - - - >configuration du service---------->Editeur de configuration php - - - - - - - max_execution_time - - - - - >30 (c'est par défaut le changer à la valeur que vous voulez)
Pour étendre votre max_execution_time
vous pouvez utiliser ini_set
ou 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);
!! Mais sachez que, les deux fonctions redémarre également le comptage du script de temps a déjà pris pour exécuter
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)
//
Donc, si vous voulez définir la durée maximale exacte d'exécution du script, votre commande doit être la première.
Les différences entre ces deux fonctions sont
-
set_time_limit
ne retourne pas d'info si elle a réussi, mais il lancera un avertissement sur erreur. -
ini_set
retourne l'ancienne valeur en cas de succès, ou false, en cas d'échec, sans avertissement/d'erreur
Augmentez le temps d'exécution de votre script en ajoutant la ligne suivante en haut du script PHP.
ini_set('max_execution_time', 120); //120 seconds = 2 minutes
La référence a pris de augmenter le temps D'exécution du Script PHP
J'ai le même problème dans le site WordPress, J'ai ajouté dans .fichier htaccess fonctionne alors bien pour moi.
php_value max_execution_time 6000000