Tiempo máximo de ejecución en phpMyadmin

108

Cuando intento ejecutar (algunas) consultas en phpMyadmin, aparece este error

Error fatal: se superó el tiempo máximo de ejecución de 60 segundos en C: \ xampp \ phpmyadmin \ libraries \ dbi \ mysql.dbi.lib.php en la línea 140

porque tengo una tabla muy grande (más de 9 millones de registros)

He editado el archivo C: \ xampp \ php \ php.ini

y cambió el valor de "tiempo máximo de ejecución" de 60 a 1000, luego reinicia PHP y todavía tiene el mismo error.

¿Alguna solución?

ahmed
fuente
1
Debe solicitar reiniciar su servidor. Después de cambiar en el archivo de configuración o ini.
4302836

Respuestas:

196

Tengo el mismo error, vaya a

xampp \ phpMyAdmin \ libraries \ config.default.php

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

Puede cambiar '600' a cualquier valor más alto, como '6000'.

El tiempo máximo de ejecución en segundos es (0 para ningún límite).

Esto solucionará su error.

user1900623
fuente
1
Puede usar el formato de código para dejar en claro qué es código y qué no lo es así :)
abarque el
24
Está bastante claro (en el encabezado del archivo) que no debe editar este archivo. En su lugar, debe editar config.inc.php, agregando esta línea, como dice en otra respuesta
dsnunez
1
Comprueba mi respuesta a continuación. Ese es el camino a seguir;)
M_R_K
3
Agregar esto al config.inc.phpno hizo el trabajo por mí. Modificar lo config.default.phpayudado y trabajado.
Espurio
Para wamp, la ruta es wamp64\apps\phpmyadmin4.6.4\libraries\config.default.phpO puede encontrar la ruta de su directorio phpmyadmin haciendo clic wamp tray icon > Apache > Alias Directoriesy editando phpmyadmin. También como lo mencionó dsnunez, es mejor editar config.inc.php--editar-- la edición config.inc.phpno funcionó para mí
AbsarAkram
107

Para la versión Xampp en Windows

Agregue esta línea a xampp \ phpmyadmin \ config.inc.php

$cfg['ExecTimeLimit'] = 6000;

Y cambie xampp \ php \ php.ini a

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

Y cambie xampp \ mysql \ bin \ my.ini

max_allowed_packet = 200M
M_R_K
fuente
1
He tenido exactamente los mismos problemas, excepto con un conjunto de datos mucho más pequeño (~ 120k filas); su respuesta definitivamente hizo las cosas mucho mejor :).
Rob
Obtuve el tiempo de espera del script para xampp para Windows instantáneamente al presionar Examinar en una mesa ~ 130mb
Matthew Lock
Lamentablemente, $cfg['ExecTimeLimit'] = 6000;parece no tener ningún efecto en mi instalación. Prefiero configurarlo localmente que en php.ini, que se aplica a todo el servidor, pero tal vez esa sea la única opción.
Simon East
1
No estoy seguro de lo que hacen todos, pero obtienes mi voto :-)
nawissor
13

Enfrenté el mismo problema al ejecutar un rizo. Lo hice bien cuando cambié lo siguiente en el php.iniarchivo:

max_execution_time = 1000 ;

y también

max_input_time = 1000 ;

Probablemente, su problema debería resolverse realizando los dos cambios anteriores y reiniciando el servidor apache.

Incluso después de cambiar lo anterior, el problema persiste y si cree que se debe a alguna operación de la base de datos usando mysql, puede intentar cambiar esto también:

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

Todo esto debe cambiarse en el archivo php.ini y el servidor apache debe reiniciarse para ver los cambios.

Sony Mathew
fuente
7

Tu cambio debería funcionar. Sin embargo, hay potencialmente pocos archivos de configuración php.ini con la pila 'xampp'. Intente identificar si hay o no un php.ini específico de 'apache'. Una ubicación potencial es:

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

Brian
fuente
1
en mi xampp ese archivo C:\xampp\php\php.iniy vaya a la línea número 442 (aproximadamente, en algún momento ese número de línea cambiará después de la edición manual), max_execution_time = 1000 pero esto no funciona para mí. Entonces intentaré esto en C: \ xampp \ phpMyAdmin \ config.inc.php$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 1200;
Elshan
5

El cambio php.inide una aplicación web requiere reiniciar Apache.

Debe verificar que el cambio tuvo lugar ejecutando un script PHP que ejecute la función phpinfo(). La salida de esa función le indicará muchos parámetros de PHP, incluido el valor de tiempo de espera.

Es posible que también haya cambiado una copia de php.iniese archivo que no es el mismo que usa Apache.

Bill Karwin
fuente
5

ini_set('max_execution_time', 0);o cree el nombre del archivo llamado php.inie ingrese la primera línea, max_execution_time=0luego guárdelo y coloque el archivo en la carpeta raíz de su aplicación.

Eso es. Buena suerte.

Karthikeyan
fuente
3
Hay una set_time_limit()función. No es necesario (ab) usar ini_set().
ThiefMaster
3

Bueno para el usuario de Wamp,

Ir: wamp\apps\phpmyadmin3.3.9\libraries

Debajo de la línea 536, locate $cfg['ExecTimeLimit'] = 0;

y cambie el valor de 0 a 6000. p. ej.

$cfg['ExecTimeLimit'] = 0;

A

$cfg['ExecTimeLimit'] = 6000;

Reinicie el servidor de wamp y ¡uf!

¡Funciona como magia!

Olasunkanmi
fuente
Esto es realmente incorrecto, debería ser al revés 0significa que no hay límite de tiempo de ejecución
user919426
2

En php.ini también debe verificar mysql.connect_timeout. Eso es responsable de cerrar el zócalo y devolver el Fatal. Entonces, por ejemplo, cámbielo a:

mysql.connect_timeout = 3600

Ese tiempo siempre se contará en segundos, así que en mi ejemplo tienes 1 hora.

andymnc
fuente
2

Lo que funcionó para mí en WAMP fue modificar el archivo: \ Wamp64 \ alias \ phpmyadmin.conf, líneas:

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

No tuve que cambiar el archivo de la biblioteca.

Casso
fuente
1

Probablemente esté utilizando XMAPP como servicio, para reiniciar XMAPP correctamente, debe abrir el panel de control de XMAPP y desmarcar ambos mdodules "Svc" contra Apache y MySQL. Luego haga clic en salir, ahora reinicie XMAPP y ya está.

Jamal
fuente
1

'CERO' por tiempo ilimitado.

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

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

También puede importar el archivo grande directamente desde MySQL como consulta o una consulta PHP.

500,000 filas solo me tomó 18 segundos importar en el servidor local, usando este método.

(cree la tabla primero) - luego:

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