2012-02-24 11 views
5

Tengo un script PHP de larga ejecución. Estoy haciendo la conexión de la base de datos desde el comienzo del script y hago algunas operaciones de base de datos al inicio.¿Cuánto tiempo permanece activa una conexión de base de datos PHP MySQL?

Después de eso, el script realiza 4 horas de funcionamiento de PHP sin hacer ping a MySQL con esa conexión ni una sola vez.

Al final de estas operaciones de larga ejecución de PHP, cuando trato de ejecutar mysql_query me da el siguiente error: MySQL Server has gone Away

¿Hay alguna posibilidad de aumentar el tiempo de espera de la conexión a ser de 4 horas? Estoy usando PHP ADODB para conectarme con MySQL desde mi aplicación PHP.

Por favor, sugiera qué hacer?

Respuesta

12

MySQL tiene un tiempo de espera diferente al de PHP. Puede aumentarlo en php.ini en la línea mysql.connect_timeout = 14400. También aumentar la default_socket_timeout = 14400

Tenga en cuenta que si la configuración de PHP le permite hacer una ini_set, también se puede hacer de la siguiente manera:

ini_set('mysql.connect_timeout', 14400); 
ini_set('default_socket_timeout', 14400); 
+1

puedo confirmar que esto funciona con GoDaddy alojamiento compartido, gracias –

Cuestiones relacionadas