WordPress database error MySQL server has gone away for query…

WordPress database error MySQL server has gone away for query…

Este fue el error que encontre cuando intentaba actualizar la base de datos, luego de instalar la ultima version de wordpress (que por cierto, tuve que hacer manualmente porque el automatico no funciona bien con 000webhost  – Hosting maliiiiiiisimo)

¿Por qué pasa?

Porque wordpress tiene un tiempo limite para conectar con la base de datos y si ese tiempo se excede aborta la operación. Generalmente se deja abierto el ultimo acceso por lo que, al no poder reutilizar la misma conexion, debe cerrar el acceso anterior, abrir uno nuevo y en servicios MALOS como el que tengo en 000webhost, esto tarda demasiado tiempo.

¿Como se soluciona?

Gracias a Google, pude encontrar este articulo que me dejó bien en claro cual era el problema (pese a que ya lo intuía y era medio obvio) y cómo solucionarlo.

Basicamente hay que abrir el archivo /wp-includes/wp-db.php y editarlo, cerca de la linea 520, donde esta la funcion __construct(…)  y donde termina esta función agregar :

$this->query(“set session wait_timeout=600”);

Como se puede ver en la siguiente imagen, donde aparece la funcion __construct(…), la linea if (!$this->dbh),  el corchete de cierre de función y la solucion, que es $this->query(“set session wait_timeout=600”);


Luego de agregar esa linea, todo se soluciona! .. existen muchos archivos ya modificados, pero por lo que pude ver, la mitad de ellos incluyen funciones innecesarias que pueden, a la larga, enlentecer las conexiones mysql de nuestro sitio(basicamente haciendo que el sitio entero sea mas lento)

Y eso es todo 🙂

Saludos

Tom

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *