web-dev-qa-db-fra.com

Erreur fatale: temps d'exécution maximal dépassé de 300 secondes

Je continue à avoir cette erreur PHP:

Erreur fatale: temps d'exécution maximal dépassé de 300 secondes

J'ai essayé de régler mes paramètres max_execution_time et max_input_time dans php.ini (Apache et cli) sur 0, -1 et 4000 secondes chacun.

Et je reçois toujours l'erreur en disant:

Erreur fatale: temps d'exécution maximal dépassé de 300 secondes

De plus, mon script dure plus de 300 secondes avant que je reçoive ce message.

J'exécute le script en ligne de commande.

J'ai également vérifié mon phpinfo() afin de voir quel php.ini j'utilise.

Encore plus intéressant, j'ai essayé de définir les paramètres max_execution_time et max_input_time à 5 secondes et mon script fonctionnera bien au-delà de 5 secondes avant que je reçoive le: 

Erreur fatale: temps d'exécution maximal dépassé de 300 secondes

69
dez

Vous pouvez ajouter au début de votre script.

ini_set('MAX_EXECUTION_TIME', '-1');
54
Tules

Si vous utilisez WAMP, allez à:

Augmentez le max_execution_time dans php.ini puis allez à

C:\wamp\apps\phpmyadmin3.4.10.1\libraries (changer le chemin en fonction de votre installation)

ouvrez config.default.php et remplacez la valeur de $cfg['ExecTimeLimit'] par 0:

$cfg['ExecTimeLimit'] = 0;

Cela résoudra le problème des importations PhpMyAdmin.

80
Vipin Dubey

Utilisateurs Xampp

  1. Aller au xampp\phpMyAdmin\
  2. Ouvrez config.inc.php
  3. Rechercher $cfg['ExecTimeLimit'] = 300;
  4. Passez à 0 pour illimité ou définissez une valeur supérieure
  5. Si non trouvé add $cfg['ExecTimeLimit'] = 0; (ou une valeur supérieure)
  6. Enregistrez le fichier et redémarrez le serveur
47
Technotronic

J'ai rencontré une situation similaire, et il s'avère que Codeigniter (le framework PHP que j'utilisais) fixe en fait sa propre limite de temps:

Dans system/core/Codeigniter.php, ligne 106 de la version 2.1.3, les éléments suivants apparaissent:

if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0)
{
    @set_time_limit(300);
}

Comme il n'y avait pas d'autre moyen d'éviter de changer le fichier core, je l'ai supprimé pour permettre la configuration via php.ini, ainsi que pour donner le temps d'exécution maximal infini d'une requête CLI.

Je recommande toutefois d’enregistrer cette modification quelque part dans le cas de futures mises à niveau de la version de CI.

23
xiankai

Essayez quelque chose comme ce qui suit dans votre script:

set_time_limit(1200);
9
Darth Egregious

C'est la bonne réponse:

aller à

c:\wamp\apps\phpmyadmin3.4.10.1\libraries\config.default.php

trouver et définir

$cfg['ExecTimeLimit'] = 0;

redémarrez tous les services .__ et terminé.

6
llioor

aller à la xampp/phpmyadmin/libraries/config.default.php

et apportez les modifications suivantes

from  $cfg['ExecTimeLimit'] = ’300′;
to  $cfg['ExecTimeLimit'] = ’0′;
4
Gaurav Arora

Le temps d'exécution par défaut de la CLI de PHP est infini.

Ceci définit la durée maximale, en secondes, pendant laquelle un script est autorisé à exécuter avant qu'il soit terminé par l'analyseur. Cela aide à prévenir mal des scripts écrits pour attacher le serveur. Le réglage par défaut est 30 . Lorsque vous exécutez PHP à partir de la ligne de commande, le paramètre par défaut est 0.

http://gr.php.net/manual/en/info.configuration.php#ini.max-execution-time

Vérifiez si vous exécutez PHP en mode sans échec, car il ignore tous les paramètres d'exécution de l'heure.

1
Mob

Pour les utilisateurs de Xampp

1. Go to C:\xampp\phpMyAdmin\libraries
2. Open config.default.php
3. Search for $cfg['ExecTimeLimit'] = 300;
4. Change to the Value 300 to 0 or set a larger value
5. Save the file and restart the server
6. OR Set the ini_set('MAX_EXECUTION_TIME', '-1'); at the beginning of your script you can add.
0
Rafiqul Islam

Dans Codeignitor version 3.0.x, le fichier system/core/Codeigniter.php ne contient pas la contrainte de temps et ne comporte pas 

ini_set('MAX_EXECUTION_TIME', -1);  

ne fonctionnera pas car codeignitor remplacera celle-ci avec sa propre fonction set_time_limit (). Donc soit vous devez supprimer cette fonction de codeignitor, soit vous pouvez simplement insérer

set_time_limit('1000');

au début du fichier php si vous voulez changer cela en 1000 secondes . Réglez le temps à 0 (zéro) si vous voulez l'exécuter aussi longtemps qu'il le souhaite. 

0
Wenuka

Si les réponses ci-dessus ne fonctionnent pas, essayez de vérifier votre code. Dans mon expérience, avoir une boucle infinie poserait également ce problème. Vérifiez votre autre instruction if.

0
user2338925

Sur Xampp, dans php.ini, vous devez également vérifier mysql.connect_timeout. Donc, par exemple, changez-le pour:

mysql.connect_timeout = 3600

Ce temps sera toujours compté en secondes (donc 1 heure dans mon exemple)

0
andymnc

Pour AppServ local

Accédez à C:\AppServ\www\phpMyAdmin\libraries\config.default.php

Trouvez $cfg['ExecTimeLimit'] et définissez la valeur sur 0.

Donc ça va ressembler

$cfg['ExecTimeLimit'] = 0;
0
Zunnie Kanittika

UTILISATEURS DE MAMP Éditer php.ini résout ce problème - il y a une ligne:

max_execution_time = 30; Temps d'exécution maximum de chaque script, en secondes

régler ceci à une valeur plus élevée travaillée.

le fichier est en php/php5.6.25/conf/php.ini (vous devez évidemment mouiller le fichier pour la version de php que vous utilisez - vous pouvez le trouver dans les préférences de MAMP. 

0
Jeremy Young

UTILISATEURS DE WAMP:

1) Allez à C:\wamp\apps\phpmyadmin

2) Ouvrez config.inc

3) Ajoutez $ cfg ['ExecTimeLimit'] = '3600 ′; au fichier.

4) Enregistrez le fichier et redémarrez le serveur.

Ce fichier écrase le fichier php.ini et fonctionnera pour vous!

0
Asi

Dans mon cas, quand j'ai rencontré cette erreur dans Phpmyadmin, j'ai essayé MySQL-Front et j'ai importé ma base de données avec succès.

Remarque: vous pouvez toujours utiliser les solutions fournies dans cette question pour résoudre votre problème dans Phpmyadmin.

0
Jamshid Hashimi