web-dev-qa-db-fra.com

Temps d'exécution maximum dans phpMyadmin

Quand j'essaye d'exécuter (quelques) requêtes dans phpMyadmin, j'obtiens cette erreur

Erreur fatale: Le temps d'exécution maximal de 60 secondes a été dépassé dans C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php à la ligne 140

parce que j'ai une très grande table (plus de 9 millions de disques)

J'ai édité le fichier C:\xampp\php\php.ini 

et changé la valeur de "max run time" de 60 à 1000 puis redémarre le PHP et continue à avoir la même erreur.

Toute solution?

90
ahmed

J'ai la même erreur, s'il vous plaît aller à

xampp\phpMyAdmin\libraries\config.default.php

Recherchez: $cfg['ExecTimeLimit'] = 600;

Vous pouvez remplacer "600" par une valeur plus élevée, telle que "6000".

La durée maximale d'exécution en secondes est (0 pour aucune limite). 

Cela corrigera votre erreur.

162
user1900623

Pour la version Xampp sous Windows

Ajouter cette ligne à xampp\phpmyadmin\config.inc.php

$cfg['ExecTimeLimit'] = 6000;

Et changer xampp\php\php.ini en

post_max_size = 750M 
upload_max_filesize = 750M   
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M

Et changez xampp\mysql\bin\my.ini

max_allowed_packet = 200M
91
M_R_K

J'ai rencontré le même problème lors de l'exécution d'une boucle . Je l'ai bien compris lorsque j'ai modifié les éléments suivants dans le fichier php.ini:

max_execution_time = 1000 ;

et aussi 

max_input_time = 1000 ;

Votre problème devrait probablement être résolu en apportant les modifications ci-dessus et en redémarrant le serveur Apache.

Même après avoir modifié ce qui précède, le problème persiste et si vous pensez que cela est dû à une opération de la base de données utilisant mysql, vous pouvez essayer de le modifier également:

mysql.connect_timeout = 1000 ; // this is not neccessary

Tout cela devrait être changé dans le fichier php.ini et le serveur Apache devrait être redémarré pour voir les changements.

13
Sony Mathew

Votre modification devrait fonctionner, mais il existe potentiellement quelques fichiers de configuration php.ini avec la pile 'xampp'. Essayez d'identifier s'il existe ou non un php.ini spécifique à 'Apache'. Un emplacement potentiel est:

C:\xampp\Apache\bin\php.ini

6
Brian

Changer php.ini pour une application Web nécessite de redémarrer Apache.

Vous devez vérifier que la modification a eu lieu en exécutant un script PHP qui exécute la fonction phpinfo(). La sortie de cette fonction vous indiquera de nombreux paramètres PHP, y compris la valeur de délai d'attente.

Vous avez peut-être également modifié une copie de php.ini qui n’est pas le même fichier que celui utilisé par Apache.

4
Bill Karwin

ini_set('max_execution_time', 0); ou créez un nom de fichier appelé php.ini et entrez la première ligne max_execution_time=0 puis enregistrez-le et placez le fichier dans le dossier racine de votre application.

C'est tout. Bonne chance.

3
Karthikeyan

Dans php.ini, vous devez vérifier mysql.connect_timeout non plus. C'est responsable de la fermeture du socket et de la restitution de Fatal . Ainsi, par exemple, changez-le en:

mysql.connect_timeout = 3600

Ce temps sera toujours compté en secondes, donc dans mon exemple, vous avez 1 heure.

2
andymnc

Bien pour l'utilisateur de Wamp,

Aller à: wamp\apps\phpmyadmin3.3.9\libraries

Sous la ligne 536, locate $cfg['ExecTimeLimit'] = 0;

et changez la valeur de 0 à 6000. p.ex.

$cfg['ExecTimeLimit'] = 0;

À

$cfg['ExecTimeLimit'] = 6000;

Redémarrez le serveur wamp et phew.

Cela fonctionne comme par magie!

1
Adeniji Olasunkanmi

Probablement que vous utilisez XMAPP en tant que service, pour redémarrer XMAPP correctement, vous devez ouvrir le panneau de configuration de XMAPP en vérifiant les deux mdodules "Svc" avec Apache et MySQL. Cliquez ensuite sur quitter, redémarrez maintenant XMAPP et vous avez terminé. 

1
Jamal

"ZERO" pour un temps illimité.

C:\Apache24\htdocs\phpmyadmin\libraries\Config.class.php

/**
 * maximum execution time in seconds (0 for no limit)
 *
 * @global integer $cfg['ExecTimeLimit']
 */
$cfg['ExecTimeLimit'] = 0;

Vous pouvez également importer le fichier volumineux directement depuis MySQL sous forme de requête ou de requête PHP.

500 000 lignes m'ont juste pris 18 secondes pour importer sur un serveur local, en utilisant cette méthode.

(commencez par créer la table) - puis:

LOAD DATA LOCAL INFILE 'Path_To_Your_File.csv' 
INTO TABLE Your_Table_Name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
1
KDawg

Aller au xampp/php/php.ini

Trouvez cette ligne:

max_execution_time=30

Et changez sa valeur en un nombre que vous voulez. Redémarrez Apache.

0
KeepMove

Ce qui a fonctionné pour moi sur WAMP était la modification du fichier: \Wamp64\alias\phpmyadmin.conf, lignes:

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

Je n'ai pas eu à changer le fichier de bibliothèque.

0
Casso