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
Vous pouvez ajouter au début de votre script.
ini_set('MAX_EXECUTION_TIME', '-1');
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.
Utilisateurs Xampp
xampp\phpMyAdmin\
$cfg['ExecTimeLimit'] = 300;
$cfg['ExecTimeLimit'] = 0;
(ou une valeur supérieure)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.
Essayez quelque chose comme ce qui suit dans votre script:
set_time_limit(1200);
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é.
aller à la xampp/phpmyadmin/libraries/config.default.php
et apportez les modifications suivantes
from $cfg['ExecTimeLimit'] = ’300′;
to $cfg['ExecTimeLimit'] = ’0′;
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.
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.
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.
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.
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)
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;
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.
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!
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.