
🔧 Error de PHP missing MySQL extension en WordPress: cómo solucionarlo en 10 minutos
Visita su sitio de WordPress para revisar el panel de administración, pero en su lugar ve una pantalla blanca con un error: «Your PHP installation appears to be missing the MySQL extension which is required by WordPress». Reiniciar no ayuda, el proveedor de hosting no responde y el sitio queda como un peso muerto.
Este error no es una sentencia de muerte para su servidor ni un motivo para entrar en pánico. La mayoría de las veces aparece después de una actualización de PHP, al migrar el sitio a otro VPS o al cambiar el sistema operativo. WordPress pierde el puente entre PHP y MySQL, y usted puede restaurarlo en 10 minutos.
A continuación encontrará una guía paso a paso: desde el diagnóstico hasta la recarga final de la configuración. Todos los comandos están actualizados para PHP 8.0-8.4, servidores con Ubuntu, distribuciones compatibles con RedHat y hosting con cPanel.
💡 Resumen rápido:
- Verifique la versión actual de PHP y las extensiones activas a través de la herramienta Salud del sitio de WordPress
- Instale los módulos faltantes:
sudo apt install php-mysqlpara Ubuntu osudo dnf install php-mysqlndpara RHEL - Revise la directiva
extension_diren php.ini; durante la migración del servidor, la ruta a menudo se corrompe - Active
mysqliypdo_mysqldesde el panel de su hosting (cPanel, Plesk) en dos clics - Asegúrese de que las versiones de WordPress y PHP sean compatibles: ambas deben estar actualizadas
1. Verifique la versión de PHP y las extensiones activas
El método de diagnóstico más rápido es la herramienta integrada Salud del sitio de WordPress. Vaya al panel de administración: Herramientas, Salud del sitio, pestaña Información. Expanda la sección Servidor; aquí encontrará la versión de PHP. Si es inferior a 7.4, es momento de actualizar: según los requisitos de WordPress, la versión mínima de PHP para WP 6.x es 7.4, y la recomendada es 8.0+.
Ahora expanda la sección Base de datos. Si las filas mysqli y pdo_mysql están vacías o no aparecen, ha encontrado la causa del error. WordPress está intentando usar una extensión que no existe en la compilación de PHP.
Mientras está allí, revise la sección Sistema de archivos: los problemas de permisos pueden afectar indirectamente la carga de módulos de PHP.
Si el panel de administración es inaccesible (pantalla blanca completa), cree un archivo info.php en la raíz del sitio con el código <?php phpinfo(); y ábralo en su navegador. La primera línea mostrará la versión exacta de PHP, y al buscar mysqli verá si la extensión existe.
2. Instale las extensiones mysqli y PDO MySQL a través de la consola
Conéctese al servidor por SSH y verifique qué está instalado:
1 php -v 2 php -m | grep -E 'mysqli|pdo_mysql'
Si mysqli y pdo_mysql no aparecen en la salida, instálelos. Los comandos difieren según la distribución.
Ubuntu / Debian:
1 sudo apt update 2 sudo apt install php-mysql
El paquete php-mysql incluye mysqli, pdo_mysql y el controlador mysqlnd, todo lo que WordPress necesita. Si tiene varias versiones de PHP, especifique una en concreto: php8.2-mysql, php8.3-mysql. Los detalles de instalación se describen en el manual de PHP mysqli.
RHEL / CentOS / AlmaLinux:
1 sudo dnf update 2 sudo dnf install php-mysqlnd
Después de la instalación, reinicie el servidor web:
1 sudo systemctl restart apache2 2 sudo systemctl restart php8.3-fpm 3 sudo systemctl restart nginx
En la mayoría de los casos el error desaparece inmediatamente después de reiniciar.
2. Verifique la directiva extension_dir en php.ini
¿Los paquetes están instalados pero WordPress sigue quejándose? Esto sucede durante la migración de un sitio: la configuración de PHP se «mudó» con rutas antiguas al nuevo servidor.
Abra info.php en su navegador y busque el parámetro Loaded Configuration File, esta es la ruta al php.ini activo.
Ahora busque extension_dir, el directorio desde el cual PHP carga los módulos. Si el valor está vacío o apunta a una carpeta inexistente, mysqli.so no se cargará y WordPress no verá MySQL.
Abra php.ini (ya conoce la ruta) y busque la línea extension_dir. Actualícela con el valor correcto. En Ubuntu 22.04/24.04 con PHP 8.3 suele ser:
1 extension_dir = "/usr/lib/php/20230831"
En servidores con cPanel la ruta es diferente, verifique el valor exacto en info.php.

Tras realizar los cambios, guarde php.ini, reinicie el servidor web y asegúrese de eliminar info.php: un phpinfo() público expone las versiones de los módulos y las rutas absolutas del servidor.
3. Active las extensiones desde el panel de control del hosting
¿Trabaja con un panel en lugar de la consola? La mayoría de los paneles de hosting gestionan las extensiones con un clic:
- cPanel: Select PHP Version, marque las casillas junto a
mysqliypdo_mysql, guarde. De paso, cambie la versión de PHP a una moderna. - Plesk: Domains, su dominio, PHP Settings, busque
mysqliypdo_mysqlen la lista de extensiones. - DirectAdmin: Extra Features, Select PHP Version, marque las extensiones necesarias.
- **SiteGround, Cloudways, **Kinsta y otros hostings administrados: sección PHP Extensions en el panel del sitio.
Tras activar las extensiones, el panel reiniciará PHP automáticamente y el sitio funcionará en menos de un minuto.
4. Asegúrese de que las versiones de WordPress y PHP sean compatibles
WordPress 6.x (la versión actual en 2026) requiere como mínimo PHP 7.4 y recomienda 8.0+. Si usted está en PHP 7.0 o 7.1, ni siquiera las extensiones instaladas ayudarán: el núcleo de WP espera módulos para una versión moderna de PHP.
Verifique la compatibilidad: panel de administración, Tools, Site Health, Info, Server. Si PHP es inferior a 7.4, actualice:
- Hosting compartido: panel de control (cPanel/Plesk), cambie PHP a 8.2 o 8.3.
- VPS: actualice mediante el gestor de paquetes:
1 sudo apt update 2 sudo apt install php8.3 php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring
Tras actualizar PHP, actualice también WordPress: Dashboard, Updates, Update Now. Las versiones antiguas de WP hacen referencia a la extensión mysql, la cual fue eliminada de PHP en 2015, de ahí el error.
Por cierto, sobre un problema relacionado: si WordPress se queja de falta de memoria durante la migración, tenemos un análisis sobre cómo aumentar el límite de memoria PHP en WordPress.
Qué más puede fallar
Si ha probado los 5 métodos y el error persiste, aquí tiene dos casos extremos.
Líneas obsoletas en php.ini. Tras actualizar PHP de 5.x a 8.x, php.ini podría tener líneas residuales como extension=mysql.so. En PHP 8 este archivo no existe: el módulo fue eliminado del núcleo. Abra php.ini y comente o elimine mysql.so, mysql.dll y libmysql. La lista de extensiones eliminadas está en la guía de migración de PHP.
Múltiples versiones de PHP en el servidor. En un VPS, a menudo coexisten PHP 7.4 y PHP 8.3. El comando php -m muestra los módulos de la versión CLI, pero el sitio podría estar usando una diferente, la configurada en Apache/FPM. Revise info.php: la primera línea muestra la versión exacta de PHP para la web. Instale los paquetes para esa versión.
Un video del equipo de Hostinger muestra la instalación de la extensión a través de cPanel y consola: 4 minutos y el panorama queda completamente claro.
⁉️🤔 Preguntas frecuentes
¿Por qué el error menciona la extensión MySQL cuando se necesita mysqli?
El mensaje de error no ha cambiado desde la era de PHP 5.x. En aquel entonces la extensión se llamaba
mysqly WordPress la verificaba específicamente. En PHP 8.x la extensiónmysqlse eliminó por completo, WordPress usamysqlioPDO_MySQL. El texto del error se mantuvo igual por razones históricas. Instale el paquetephp-mysql: contienemysqli,pdo_mysqlymysqlnd, todo lo que WordPress necesita.
¿Se puede solucionar el error sin acceso al servidor?
Sí, si el sitio está en un hosting compartido. Ingrese al panel de control (cPanel, Plesk, DirectAdmin), busque «Select PHP Version» o «PHP Settings», active
mysqliypdo_mysqlcon las casillas de verificación. El panel reiniciará PHP automáticamente, no necesita acceso a la consola. En hostings como Hostinger o Bluehost estas extensiones están activadas por defecto; si el error apareció después de cambiar de plan, el soporte activará los módulos en un par de minutos.
¿Qué hacer si el sitio no funciona después de todas las soluciones?
Verifique tres cosas. Primero: abra
info.phpy asegúrese de quemysqlise muestre con una versión de Client API. Si no aparece la sección, significa que el módulo no se cargó, reviseextension_dir. Segundo: reinicie el servidor web completo,sudo systemctl restart apache2(onginxmásphp-fpm). Tercero: verifique DB_HOST, DB_NAME, DB_USER y DB_PASSWORD enwp-config.php, a veces el error oculta credenciales de base de datos incorrectas.
¿Es necesario cambiar a MariaDB si el error se repite?
No, reemplazar el servidor de base de datos no resolverá el problema. El error está relacionado exclusivamente con las extensiones de PHP. MariaDB es un fork de MySQL y WordPress funciona con él a través de las mismas
mysqlioPDO. La mayoría de los proveedores de hosting ya han migrado a MariaDB por defecto, los sitios de WordPress funcionan perfectamente con él.
¿Es obligatorio instalar específicamente PHP 8.3?
No, cualquier versión de PHP 8.x (8.0-8.4) funcionará. Lo principal es que no sea inferior a 7.4. Recomendamos 8.2 u 8.3: son ramas estables con soporte de seguridad activo en 2026, según el calendario oficial de PHP. PHP 8.0 y 8.1 ya están en estado de solo correcciones de seguridad, y PHP 7.4 no ha recibido parches desde noviembre de 2022.
¿Debería alarmarse por este error?
El error «missing MySQL extension» parece alarmante, pero en esencia es una señal: el servidor no está completamente configurado. PHP sin un módulo para trabajar con bases de datos es como un automóvil sin llaves de encendido. Los métodos descritos cubren la mayoría absoluta de los casos, no se requiere un administrador de sistemas.
Después de solucionarlo, haga algo de mantenimiento: elimine info.php, actualice WordPress y los plugins a las últimas versiones, configure copias de seguridad automáticas mediante UpdraftPlus o el panel de hosting. Así, la próxima migración o actualización de PHP transcurrirá sin sorpresas.



