Cómo solucionar el error «missing the MySQL extension» en WordPress
Generalmente cuando migramos una instalación de WordPress hacia otro hosting o actualizamos a PHP 7 podemos encontrarnos con el siguiente error: Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
Pero, ¿qué ha pasado si mi WordPress estaba funcionando correctamente? ¿Cómo puedo solucionar esto?. En este tip, te mostraré varios pasos que puedes seguir para responder las interrogantes anteriores.
1. La extensión de PHP para MySQL no está instalada
PHP permite enviar comandos MySQL. Para ello necesita que la extensión de MySQL se encuentre instalada. En ocasiones puede que no esté instalada.
Una forma simple de ver si tu PHP tiene instalada la extensión de MySQL es crear el archivo “phpinfo.php” en la raíz de tu servidor web:
1 2 3 |
<?php phpinfo(); ?> |
Luego accede desde el navegador web: http://tudominio.com/phpinfo.php. En la sección de MySQL puedes confirmar si se encuentra instalada o no:

Sección MySQL – phpinfo
Desde la línea de comandos puedes ver las extensiones de PHP instaladas para MySQL:
1 |
# php -i |
2. El directorio de extensiones PHP no se encuentra configurado correctamente
El parámetro “extension_dir” en ocasiones no se encuentra configurado correctamente. Esto suele pasar cuando migramos de un sistema a otro. Este directorio almacena todas las librerías PHP. De manera que, si no está configurado correctamente PHP, no puede ejecutar sus funciones y aparecerá el error missing the MySQL extension…
El primer paso para arreglar esto es localizar el archivo “php.ini” que está siendo cargado por tu sitio. Para ello, crea el archivo “phpinfo.php” como en el paso anterior y accede desde el navegador.
Localiza la directiva “Loaded Configuration File”:

Loaded Configuration File – phpinfo
Edita el archivo que contiene la directiva “Loaded Configuration File” y verifica que la línea “extension_dir” está comentada o contenga el camino del directorio de extensiones PHP. Nunca debe estar en blanco. En caso de modificarlo debes reiniciar el servidor web.
Con la función phpinfo puedes ver la dirección exacta de “extension_dir”:

Extension_dir – phpinfo
3. Nombre/camino incorrecto para MySQL.so o MySQL.DLL
Algunos sitios webs poseen archivos de configuración PHP (php.ini) personalizados que pueden no ser actualizados por el sistema o cuando se realiza una migración de servidor. Si tienes un archivo de configuración personalizado, lo mejor es comentar las siguientes líneas como se muestra a continuación:
1 2 |
; extension=mysql.so ; extension_dir=/path/to/extensions/ |
4. El paquete php-mysqlnd-ms no se encuentra instalado en Ubuntu
En las últimas versiones de los sistemas operativos Ubuntu, el controlador nativo de MySQL (phpx-mysqlnd) es usado. Puede darse el caso de que si no está instalado el paquete “php5-mysqlnd-ms” se presente el error que da título a este tip.
Para instalarlo usa lo siguiente:
1 |
# apt-get install php5-mysqlnd-ms |
5. Configuración de PHP incorrecta mediante suPHP_ConfigPath
En los servidores webs con suPHP activado como manejador PHP, los archivos de configuración de PHP personalizados son cargados mediante la directiva suPHP_ConfigPath. Estos archivos de configuración de PHP en ocasiones presentan conflictos con las extensiones MySQL. Esto se da especialmente en los hostings compartidos que tienen la opción Multi-PHP activa. Por ejemplo, en CPanel/WHM y Plesk.
Este punto suele ser el más común en el error missing the MySQL extension, por lo que debes verificar que en tu archivo .htaccess o en la configuración del virtualhost de tu sitio no esté presente la directiva “suPHP_ConfigPath”. En caso de estarlo, basta con comentarla y el problema quedará solucionado.
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir