[{"@context":"https:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/codico.io\/es\/wordpress-falta-extension-mysql-solucion\/#BlogPosting","mainEntityOfPage":"https:\/\/codico.io\/es\/wordpress-falta-extension-mysql-solucion\/","headline":"Tu Instalaci\u00f3n de PHP Parece No Tener la Extensi\u00f3n MySQL en WordPress &#8211; Soluci\u00f3n Completa","name":"Tu Instalaci\u00f3n de PHP Parece No Tener la Extensi\u00f3n MySQL en WordPress &#8211; Soluci\u00f3n Completa","description":"El Error Que Aparece de la Nada Actualizas PHP.O migras tu sitio.O configuras un VPS nuevo e instalas WordPress desde cero. Todo parece funcionar bien \u2014 hasta que deja de hacerlo. De repente, en lugar de tu p\u00e1gina de inicio, ves esto: Tu instalaci\u00f3n de PHP parece no tener la extensi\u00f3n MySQL que requiere WordPress. [&hellip;]","datePublished":"2026-03-03","dateModified":"2026-03-04","author":{"@type":"Person","@id":"https:\/\/codico.io\/es\/author\/sayenkovicgmail-com\/#Person","name":"Vi\u0441tor Sayenko","url":"https:\/\/codico.io\/es\/author\/sayenkovicgmail-com\/","identifier":66,"image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/7f710ac194598578a6dc86e701592ef1292698e115e20aa8a926f76c02301168?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7f710ac194598578a6dc86e701592ef1292698e115e20aa8a926f76c02301168?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"CodiCo Taxi Dispatch Software","logo":{"@type":"ImageObject","@id":"https:\/\/codico.io\/wp-content\/uploads\/2025\/10\/logo-landing.svg","url":"https:\/\/codico.io\/wp-content\/uploads\/2025\/10\/logo-landing.svg","width":186,"height":44}},"image":{"@type":"ImageObject","@id":"https:\/\/codico.io\/wp-content\/uploads\/2026\/03\/PHP-Installation-Appears.png","url":"https:\/\/codico.io\/wp-content\/uploads\/2026\/03\/PHP-Installation-Appears.png","height":667,"width":722},"url":"https:\/\/codico.io\/es\/wordpress-falta-extension-mysql-solucion\/","about":["Tutorials"],"wordCount":4881,"keywords":["Plugins","TOP 10","WordPress"],"articleBody":"El Error Que Aparece de la NadaActualizas PHP.O migras tu sitio.O configuras un VPS nuevo e instalas WordPress desde cero.Todo parece funcionar bien \u2014 hasta que deja de hacerlo.De repente, en lugar de tu p\u00e1gina de inicio, ves esto:Tu instalaci\u00f3n de PHP parece no tener la extensi\u00f3n MySQL que requiere WordPress.Es uno de esos mensajes que parecen simples\u2026 pero rara vez lo son.En las gu\u00edas antiguas, la explicaci\u00f3n casi siempre es la misma:\u201cInstala la extensi\u00f3n MySQL.\u201dEn realidad, especialmente en entornos modernos (PHP 8.2, 8.3, 8.4), este error normalmente tiene muy poco que ver con una extensi\u00f3n faltante \u2014 y mucho m\u00e1s con c\u00f3mo est\u00e1 configurado PHP, c\u00f3mo se carga o c\u00f3mo est\u00e1 separado entre distintos entornos.A veces aparece:justo despu\u00e9s de actualizar a PHP 8.3despu\u00e9s de cambiar de Apache a Nginxdurante una reconstrucci\u00f3n de Dockerdespu\u00e9s de una migraci\u00f3n del servidorcuando CLI y FPM ejecutan versiones diferentes de PHPY en ocasiones \u2014 despu\u00e9s deDiagn\u00f3stico R\u00e1pido en 60 SegundosAntes de reinstalar nada o cambiar archivos de configuraci\u00f3n, detente un momento. Cuando ves el mensaje tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql, el instinto suele ser empezar a instalar paquetes de inmediato. En la pr\u00e1ctica, eso a menudo empeora las cosas.El objetivo real aqu\u00ed es simple: determinar si wordpress falta extensi\u00f3n mysql realmente est\u00e1 causado por una extensi\u00f3n faltante, o si PHP est\u00e1 cargando algo diferente de lo que esperas.En entornos modernos, especialmente con PHP 8.2 o 8.3, el problema con frecuencia tiene m\u00e1s que ver con el contexto que con la ausencia.1. Comprueba la Versi\u00f3n Activa de PHPEmpieza con lo b\u00e1sico. \u00bfQu\u00e9 versi\u00f3n de PHP se est\u00e1 ejecutando realmente?Si tienes acceso por SSH:php -vEsto muestra la versi\u00f3n de CLI. Es \u00fatil, pero no es definitivo. Tu servidor web puede estar ejecutando una compilaci\u00f3n de PHP completamente diferente.Para confirmar el entorno web, crea un archivo temporal llamado info.php en el directorio ra\u00edz de tu WordPress:\u00c1brelo en el navegador y comprueba:la versi\u00f3n de PHPla ruta de Loaded Configuration Filela Server API (Apache, FPM\/FastCGI, etc.)Es sorprendentemente com\u00fan ver PHP 8.3 en CLI mientras que el navegador muestra PHP 8.1. En esa situaci\u00f3n, php falta extensi\u00f3n mysql wordpress puede no tener nada que ver con MySQL. Puede que simplemente sea una instancia de PHP incorrecta.2. Confirma que MySQLi o PDO_MySQL Est\u00e1n CargadosDentro del resultado de phpinfo(), busca:mysqlipdo_mysqlSi ninguno aparece, entonces PHP realmente no tiene soporte para MySQL y el mensaje tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql es t\u00e9cnicamente correcto.Si aparecen, la situaci\u00f3n se vuelve m\u00e1s interesante. WordPress a\u00fan puede mostrar un error falta extensi\u00f3n mysqli wordpress aunque la extensi\u00f3n exista. Esto normalmente apunta a un desajuste de configuraci\u00f3n m\u00e1s que a un fallo de instalaci\u00f3n.Desde SSH, tambi\u00e9n puedes ejecutar:php -m | grep -i mysqlDe nuevo, esto solo comprueba los m\u00f3dulos de CLI. El servidor web puede cargar un conjunto diferente de extensiones.3. Verifica el Archivo php.ini CargadoEn la p\u00e1gina de phpinfo(), localiza la l\u00ednea:Loaded Configuration FileAseg\u00farate de que la ruta corresponde a la versi\u00f3n de PHP que tu servidor web est\u00e1 utilizando realmente.Despu\u00e9s busca:extension_dirSi extension_dir apunta a un directorio incorrecto o a una compilaci\u00f3n diferente de PHP, extensiones como mysqli o pdo_mysql pueden existir en el disco pero no cargarse en tiempo de ejecuci\u00f3n. En esos casos, solucionar error extensi\u00f3n mysql wordpress no significa instalar nada nuevo. Significa alinear PHP con su directorio correcto de extensiones.En este punto, normalmente se llega a una de tres conclusiones:La extensi\u00f3n no est\u00e1 instalada en absoluto.La extensi\u00f3n est\u00e1 instalada pero no habilitada para el entorno activo.CLI y el PHP del servidor web est\u00e1n ejecutando configuraciones diferentes.Solo despu\u00e9s de identificar cu\u00e1l de estos escenarios se aplica deber\u00edas continuar. De lo contrario, corres el riesgo de solucionar el problema equivocado.Por Qu\u00e9 Este Error Resulta Enga\u00f1oso en Entornos PHP ModernosA primera vista, el mensaje tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql suena preciso. Sugiere que algo falta y que instalarlo resolver\u00e1 todo.En 2026, esa suposici\u00f3n suele ser incorrecta.La extensi\u00f3n original mysql ha estado obsoleta durante a\u00f1os y fue eliminada por completo de las versiones modernas de PHP. WordPress ya no la utiliza. En su lugar, depende de mysqli o pdo_mysql, ambas est\u00e1ndar en las compilaciones de PHP 8.x.Por lo tanto, cuando WordPress muestra hoy un error wordpress falta extensi\u00f3n mysql, rara vez significa \u201colvidaste instalar el soporte para MySQL\u201d. M\u00e1s a menudo, indica que PHP no pudo cargar el m\u00f3dulo correcto en tiempo de ejecuci\u00f3n.Esta diferencia es importante.Lee tambi\u00e9n: C\u00f3mo mejorar el Time to First Byte (TTFB) de tu sitio WordPressMySQL vs MySQLi: La Trampa del NombreEl mensaje de error a\u00fan hace referencia a la \u201cextensi\u00f3n MySQL\u201d, lo que lleva a muchos desarrolladores a buscar el paquete equivocado. Intentan instalar mysql, que ya no existe en PHP 8.2 ni en 8.3.Lo que WordPress realmente necesita es:mysqlio pdo_mysqlSi ninguno est\u00e1 disponible para el entorno activo de PHP, puedes ver variaciones como falta extensi\u00f3n mysqli wordpress o php falta extensi\u00f3n mysql wordpress.Pero la redacci\u00f3n del mensaje de error no ha evolucionado junto con PHP. Ah\u00ed es donde empieza la confusi\u00f3n.PHP 8.x y el Problema del Contexto de Ejecuci\u00f3nLas configuraciones modernas de PHP rara vez son simples.Puedes tener:varias versiones de PHP instaladaspools de PHP-FPM separadosimplementaciones en contenedorescompilaciones de PHP personalizadasdiferentes archivos php.ini para CLI y para webEn estos entornos, solucionar error extensi\u00f3n mysql wordpress no consiste en descargar un m\u00f3dulo. Se trata de asegurarse de que el entorno correcto de PHP cargue la extensi\u00f3n correcta desde el directorio correcto.Por ejemplo:CLI puede mostrar mysqli cargadoPero el entorno web puede no hacerloO PHP-FPM puede apuntar a un extension_dir obsoletoO una reconstrucci\u00f3n del contenedor puede haber omitido pdo_mysqlTodos estos escenarios generan el mismo mensaje.Por eso instalar paquetes a ciegas rara vez es el primer paso correcto. El problema real casi siempre tiene que ver con la alineaci\u00f3n.WordPress, PHP y la base de datos deben funcionar dentro del mismo contexto de configuraci\u00f3n. Cuando una pieza cambia \u2014 especialmente durante una actualizaci\u00f3n de PHP a 8.3 \u2014 el sistema se rompe silenciosamente y WordPress muestra este error gen\u00e9rico.Cuando Ni Siquiera Se Trata de la Extensi\u00f3nHay otro matiz que es f\u00e1cil pasar por alto.A veces la extensi\u00f3n est\u00e1 cargada correctamente, pero WordPress a\u00fan no puede conectarse a la base de datos. En esos casos, el mensaje puede aparecer porque la capa de base de datos falla al inicio del proceso de arranque.Esto puede ocurrir cuando:las credenciales de la base de datos son incorrectasla ruta del socket de MySQL ha cambiadoMariaDB se ejecuta en TCP mientras PHP espera un socket Unixel servicio de base de datos est\u00e1 ca\u00eddoSELinux bloquea el accesoDesde la perspectiva de WordPress, la conexi\u00f3n con la base de datos falla. La suposici\u00f3n de respaldo es que falta el soporte de MySQL.En otras palabras, el mensaje de error no siempre describe la causa ra\u00edz. Describe el s\u00edntoma.Comprender este contexto cambia la forma de abordar el problema. En lugar de reinstalar extensiones, empiezas a rastrear la cadena de ejecuci\u00f3n.Y ah\u00ed es donde comienza el diagn\u00f3stico real.Lee tambi\u00e9n: C\u00f3mo borrar la cach\u00e9 de WordPress cuando tus cambios no se muestranD\u00f3nde Se Rompe la Conexi\u00f3nCuando WordPress muestra el mensaje tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql, algo falla en la cadena de ejecuci\u00f3n. La forma m\u00e1s clara de entenderlo es observar directamente esa cadena.A alto nivel, el flujo se ve as\u00ed:WordPress Core \u2193Entorno de ejecuci\u00f3n de PHP (Web SAPI \/ PHP-FPM \/ M\u00f3dulo Apache) \u2193Extensi\u00f3n MySQL (mysqli o pdo_mysql) \u2193Motor de Base de Datos (MySQL 8 \/ MariaDB)Si alg\u00fan enlace de esta cadena se desajusta, WordPress no puede inicializar la capa de base de datos. El resultado puede ser un error wordpress falta extensi\u00f3n mysql, incluso si la extensi\u00f3n t\u00e9cnicamente existe.Veamos d\u00f3nde suele romperse esta cadena.1. La Extensi\u00f3n No Est\u00e1 InstaladaEste es el escenario m\u00e1s sencillo. PHP se instal\u00f3 sin mysqli o pdo_mysql.Esto puede ocurrir cuando:se compila PHP desde el c\u00f3digo fuente sin mysqlndse utilizan im\u00e1genes de contenedor m\u00ednimasse instala PHP manualmente en un VPS sin el paquete de MySQLEn ese caso, php -m y phpinfo() no mostrar\u00e1n mysqli ni pdo_mysql. El error es correcto.2. La Extensi\u00f3n Est\u00e1 Instalada pero No Est\u00e1 HabilitadaAqu\u00ed, la extensi\u00f3n existe en el disco pero no est\u00e1 cargada.Razones comunes:extension=mysqli falta en php.inila extensi\u00f3n est\u00e1 compilada pero no activadase utilizan diferentes archivos php.ini para CLI y webest\u00e1 configurado un extension_dir incorrectoAqu\u00ed es donde encajan muchos casos de php falta extensi\u00f3n mysql wordpress. Los desarrolladores ven mysqli.so en la carpeta de extensiones y asumen que todo est\u00e1 bien. Mientras tanto, PHP-FPM nunca la carga.3. CLI y el PHP del Servidor Web Son DiferentesEsta es una de las causas m\u00e1s frecuentes en configuraciones modernas.Ejecutas:php -m | grep -i mysqlY muestra mysqli.Todo parece correcto.Pero el servidor web est\u00e1 usando una versi\u00f3n de PHP completamente diferente. Esa versi\u00f3n puede no tener habilitado el soporte para MySQL.En esta situaci\u00f3n, el problema no es la ausencia del soporte para MySQL. Es un desajuste en el entorno de ejecuci\u00f3n.Esto es especialmente com\u00fan despu\u00e9s de:actualizar a PHP 8.3cambiar de panel de hostingactivar MultiPHP en cPanelmigrar de Apache a NginxLos entornos de CLI y web se separan silenciosamente.4. La Extensi\u00f3n Se Carga pero la Capa de Base de Datos FallaEste es el caso m\u00e1s sutil.mysqli aparece en phpinfo().PHP es correcto.Las rutas de configuraci\u00f3n parecen correctas.Sin embargo, WordPress sigue mostrando mensajes del tipo solucionar error extensi\u00f3n mysql wordpress.Aqu\u00ed, la ruptura ocurre m\u00e1s abajo en la cadena:ruta de socket incorrectahost incorrecto en wp-config.phpel servicio de base de datos no est\u00e1 en ejecuci\u00f3nMariaDB se actualiz\u00f3 y cambi\u00f3 los valores por defectoproblemas de permisos en el archivo del socketDesde la perspectiva de WordPress, la conexi\u00f3n falla durante el arranque. El mensaje de error asume que la capa de extensiones es la responsable.T\u00e9cnicamente, no lo es.5. Entornos Contenerizados y en la NubeEn implementaciones con Docker o en la nube, la ruptura puede ocurrir durante el proceso de construcci\u00f3n.Por ejemplo:La imagen base no incluye pdo_mysqlSe omiti\u00f3 docker-php-ext-install mysqli pdo_mysqlUna reconstrucci\u00f3n reemplaz\u00f3 la capa de PHP pero no la configuraci\u00f3nLas variables de entorno cambiaron la conectividad con la base de datosEn esos casos, wordpress falta extensi\u00f3n mysql puede aparecer despu\u00e9s de lo que parec\u00eda una actualizaci\u00f3n de infraestructura no relacionada.Por eso este error rara vez es un caso aislado. Casi siempre depende del contexto.Cuando entiendes la cadena, dejas de tratarlo como un simple problema de instalaci\u00f3n. En su lugar, identificas qu\u00e9 capa cambi\u00f3.Esa perspectiva hace que la soluci\u00f3n sea met\u00f3dica en lugar de reactiva.Las Causas Reales Detr\u00e1s del Error de la Extensi\u00f3n MySQLA estas alturas, probablemente ya hayas identificado d\u00f3nde se rompe la cadena. Ahora la pregunta se vuelve pr\u00e1ctica: \u00bfqu\u00e9 es exactamente lo que debe corregirse?La respuesta depende completamente de tu entorno. Un alojamiento compartido se comporta de forma muy diferente a un VPS personalizado o a una implementaci\u00f3n con Docker. El error visible puede ser id\u00e9ntico, pero la causa subyacente var\u00eda.Veamos los escenarios m\u00e1s comunes.Entornos de Hosting CompartidoEn el hosting compartido, especialmente con cPanel u otros paneles de control similares, el problema suele estar relacionado con el cambio de versi\u00f3n de PHP.Muchos proveedores de hosting permiten que varias versiones de PHP coexistan. Puedes actualizar a PHP 8.3 en el panel, pero el dominio puede seguir vinculado a un handler m\u00e1s antiguo.Si ves wordpress falta extensi\u00f3n mysql en un hosting compartido, comprueba:Qu\u00e9 versi\u00f3n de PHP est\u00e1 asignada al dominioSi mysqli y pdo_mysql est\u00e1n habilitados en la lista de extensiones de PHPSi MultiPHP Manager est\u00e1 aplicando el handler correctoEn cPanel, esto normalmente implica:Abrir Select PHP VersionConfirmar que PHP 8.2 o 8.3 est\u00e9 activoAsegurarse de que mysqli y mysqlnd est\u00e9n marcadosDespu\u00e9s de guardar, actualiza el sitio. Si el entorno de ejecuci\u00f3n cambia correctamente, el error desaparece de inmediato.Si no desaparece, el dominio puede seguir asignado a un pool de PHP diferente.Aqu\u00ed es donde un mantenimiento continuo de WordPress adecuado evita la deriva silenciosa de la configuraci\u00f3n. Peque\u00f1as diferencias de versi\u00f3n son f\u00e1ciles de pasar por alto hasta que rompen el entorno de producci\u00f3n.Configuraciones de VPS y Servidores Dedicados (Ubuntu \/ Debian)En entornos VPS, el problema suele ser m\u00e1s expl\u00edcito.Si PHP se instal\u00f3 sin soporte para MySQL, puedes verificarlo con:php -m | grep -i mysqlSi no aparece nada, instala el m\u00f3dulo requerido:sudo apt updatesudo apt install php-mysqlLuego reinicia el servicio correcto:sudo systemctl restart php8.3-fpmO, si usas Apache:sudo systemctl restart apache2Pero aqu\u00ed es donde muchas personas cometen un error.Reinician la versi\u00f3n incorrecta de PHP-FPM.Si hay varias versiones instaladas, aseg\u00farate de reiniciar exactamente el servicio que utiliza tu servidor web. Reiniciar php8.2-fpm mientras Nginx apunta a php8.3-fpm no cambia nada.Este desajuste por s\u00ed solo puede provocar errores de php sin extensi\u00f3n mysql wordpress incluso cuando la extensi\u00f3n est\u00e1 instalada.Desajuste entre Nginx y PHP-FPMEn configuraciones modernas, especialmente despu\u00e9s de actualizar PHP, a veces los archivos de configuraci\u00f3n siguen haciendo referencia a sockets antiguos.Por ejemplo:fastcgi_pass unix:\/run\/php\/php8.1-fpm.sock;Si el sistema se actualiz\u00f3 a PHP 8.3 pero Nginx todav\u00eda apunta al socket de 8.1, WordPress cargar\u00e1 el entorno de ejecuci\u00f3n incorrecto.En ese escenario:El CLI muestra mysqliPHP 8.3 tiene soporte para MySQLEl servidor web contin\u00faa usando 8.1 sin ese soporteEntonces aparece el error y parece que falta una extensi\u00f3n.En realidad, se trata de un problema de referencia en la configuraci\u00f3n.Docker y despliegues en contenedoresLos entornos basados en contenedores introducen otra capa adicional.Si est\u00e1s construyendo a partir de la imagen oficial de PHP, las extensiones de MySQL no siempre est\u00e1n incluidas por defecto. Debes agregarlas expl\u00edcitamente durante la compilaci\u00f3n:RUN docker-php-ext-install mysqli pdo pdo_mysqlSi esa l\u00ednea se elimina, se omite o se sobrescribe durante una reconstrucci\u00f3n, el siguiente despliegue puede activar repentinamente el error tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql.Esto suele ocurrir despu\u00e9s de:actualizaciones de la imagen basecambiar de im\u00e1genes Debian a Alpinecambios en el pipeline de CI\/CDLa extensi\u00f3n nunca fue \u201celiminada\u201d manualmente. El contenedor simplemente se reconstruy\u00f3 sin ella.En entornos complejos que incluyen capas de API, sistemas SaaS o integraci\u00f3n de IA en plataformas web modernas, estos efectos secundarios durante las reconstrucciones son comunes. WordPress puede ser solo un componente dentro de una arquitectura m\u00e1s amplia.Instalaciones con m\u00faltiples versiones de PHPEste punto merece una atenci\u00f3n especial.Muchos servidores ejecutan:\/usr\/bin\/php\/usr\/local\/bin\/phpm\u00faltiples pools de FPMpools separados por dominioPuedes confirmar que mysqli est\u00e1 instalado globalmente, pero el pool activo puede estar utilizando un php.ini diferente.Aqu\u00ed es donde la experiencia en desarrollo web profesional en WordPress se vuelve relevante. Identificar qu\u00e9 entorno de ejecuci\u00f3n de PHP maneja realmente la solicitud requiere revisar los archivos de configuraci\u00f3n de los pools, no solo comprobar los m\u00f3dulos.Cuando las configuraciones con m\u00faltiples versiones empiezan a desalinearse, WordPress no se preocupa por la causa. Simplemente informa que falta una extensi\u00f3n.En todos estos escenarios, el patr\u00f3n es el mismo. El problema rara vez consiste en instalar algo nuevo. Se trata de garantizar que el entorno de ejecuci\u00f3n correcto cargue la extensi\u00f3n correcta dentro del contexto de configuraci\u00f3n adecuado.Cuanto m\u00e1s compleja es la infraestructura, m\u00e1s sutil puede ser la desalineaci\u00f3n.Leer tambi\u00e9n: 5 pasos para a\u00f1adir redirecciones 301 en WordPress mediante htaccess (gu\u00eda pr\u00e1ctica completa)Tabla de diagn\u00f3stico: S\u00edntoma \u2192 Causa ra\u00edz \u2192 Soluci\u00f3nA continuaci\u00f3n se muestra una referencia pr\u00e1ctica para las variaciones m\u00e1s comunes del error tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql.S\u00edntomaCausa probableQu\u00e9 comprobarSoluci\u00f3n pr\u00e1cticaphp -m no muestra m\u00f3dulos MySQLLa extensi\u00f3n MySQL no est\u00e1 instaladaLista de m\u00f3dulos en CLIInstalar php-mysql o habilitar mysqli \/ pdo_mysqlphp -m muestra mysqli, pero el navegador noDiferencia entre PHP en CLI y en la webphpinfo() vs versi\u00f3n CLIAlinear la versi\u00f3n de PHP-FPM con el servidor webmysqli aparece en phpinfo(), pero WordPress fallaextension_dir incorrectoextension_dir en php.iniCorregir la ruta del directorio y reiniciar FPMEl error aparece despu\u00e9s de actualizar PHPNginx o Apache apuntan a un socket antiguoConfiguraci\u00f3n del servidor webActualizar fastcgi_pass o el handler de PHPError despu\u00e9s de una migraci\u00f3nLa versi\u00f3n de PHP cambi\u00f3 silenciosamentePanel de hosting \/ MultiPHPAsignar nuevamente la versi\u00f3n correcta de PHP al dominioError dentro de DockerLa extensi\u00f3n no se instal\u00f3 durante la compilaci\u00f3nDockerfileA\u00f1adir docker-php-ext-install mysqli pdo_mysql y reconstruirLa conexi\u00f3n a la base de datos sigue fallandoDesajuste de socket o hostwp-config.php DB_HOSTAjustar el host a la ruta TCP o del socket correctaEl error aparece de forma aleatoriaHay m\u00faltiples pools de PHP activosConfiguraciones de pools FPMVerificar el pool activo y reiniciar el servicio correctoEsta tabla refleja lo que normalmente provoca el error wordpress sin extensi\u00f3n mysql en entornos modernos de PHP 8.x.Observa algo importante.En m\u00e1s de la mitad de estos escenarios, la extensi\u00f3n est\u00e1 t\u00e9cnicamente presente. El problema es contextual \u2014 entorno de ejecuci\u00f3n incorrecto, archivo de configuraci\u00f3n incorrecto o reinicio del servicio equivocado.Por eso reinstalar paquetes a ciegas a menudo no soluciona nada.En este punto, si ninguno de los casos anteriores coincide con tu situaci\u00f3n, vale la pena observar el comportamiento real en lugar de quedarse solo con la teor\u00eda.Veamos c\u00f3mo se ve esto en la pr\u00e1ctica.Caso Real: Despu\u00e9s de Actualizar a PHP 8.3Una situaci\u00f3n com\u00fan se ve as\u00ed.Un servidor ejecuta PHP 8.1 sin problemas.Todo funciona.El administrador actualiza a PHP 8.3.Inmediatamente despu\u00e9s de la actualizaci\u00f3n, WordPress muestra:tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysqlEl instinto es asumir que PHP 8.3 elimin\u00f3 el soporte para MySQL.No fue as\u00ed.Lo que realmente ocurri\u00f3 en muchos de estos casos:PHP 8.3 se instal\u00f3 correctamentemysqli se compil\u00f3 y estaba disponibleNginx segu\u00eda apuntando al socket antiguo de 8.1PHP-FPM 8.3 nunca se reinici\u00f3Desde la perspectiva de WordPress, la capa de base de datos fall\u00f3 durante el arranque. Apareci\u00f3 el mensaje de error gen\u00e9rico.En CoDiCo, hemos visto este patr\u00f3n repetirse muchas veces durante transiciones de versi\u00f3n. La soluci\u00f3n rara vez consist\u00eda en instalar algo nuevo. Casi siempre se trataba de alinear las capas del entorno de ejecuci\u00f3n despu\u00e9s de una actualizaci\u00f3n.Una vez que el servidor web apuntaba al pool FPM correcto y el servicio se reiniciaba adecuadamente, el error desaparec\u00eda al instante.Casos l\u00edmite que quiz\u00e1s no esperabasHay situaciones en las que todo parece correcto a primera vista. mysqli aparece en phpinfo(). La versi\u00f3n de PHP coincide con la que el servidor deber\u00eda ejecutar. Las credenciales de la base de datos en wp-config.php parecen correctas. Y aun as\u00ed WordPress sigue mostrando tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql.En este punto, el problema normalmente se encuentra m\u00e1s profundo en la pila.Una de las causas m\u00e1s pasadas por alto es un desajuste de socket. En muchos sistemas Linux, MySQL o MariaDB se comunican mediante un archivo de socket Unix en lugar de TCP. Si la ruta del socket cambia durante una actualizaci\u00f3n, PHP puede seguir cargando mysqli, pero fallar al establecer la conexi\u00f3n. WordPress entonces muestra un mensaje gen\u00e9rico de wordpress sin extensi\u00f3n mysql, aunque la extensi\u00f3n en s\u00ed funcione perfectamente.Otro problema sutil aparece despu\u00e9s de actualizar MariaDB. Los m\u00e9todos de autenticaci\u00f3n predeterminados o los ajustes de conexi\u00f3n pueden cambiar silenciosamente. Si PHP espera una configuraci\u00f3n y el servidor de base de datos ahora requiere otra, el proceso de autenticaci\u00f3n falla desde el principio. Desde la capa de la aplicaci\u00f3n parece que falta soporte de MySQL. En realidad, se trata de un problema de autenticaci\u00f3n o de transporte.SELinux tambi\u00e9n puede interferir. En sistemas reforzados, incluso cuando mysqli est\u00e1 habilitado y cargado correctamente, las pol\u00edticas de seguridad pueden impedir que PHP acceda al socket de la base de datos. La extensi\u00f3n est\u00e1 presente, pero el entorno de ejecuci\u00f3n no puede utilizarla. El mensaje de error resultante es enga\u00f1oso, aunque t\u00e9cnicamente coherente con un fallo en la inicializaci\u00f3n de la base de datos.Las compilaciones personalizadas de PHP introducen otra variable adicional. Si PHP se compil\u00f3 sin mysqlnd, o se construy\u00f3 con una biblioteca cliente incompatible, el m\u00f3dulo puede aparecer como instalado pero comportarse de forma impredecible. Estos casos son poco frecuentes, pero cuando ocurren, los pasos est\u00e1ndar de diagn\u00f3stico no funcionan porque el problema es estructural.La orquestaci\u00f3n de contenedores a\u00f1ade su propia complejidad. En entornos distribuidos, el host de la base de datos definido en wp-config.php puede resolverse de manera diferente dentro de la red del contenedor. Un nombre de servicio mal configurado o una variable de entorno incorrecta puede romper la conectividad, y WordPress puede volver a mostrar php sin extensi\u00f3n mysql wordpress, aunque la extensi\u00f3n se cargue correctamente dentro del contenedor.El patr\u00f3n en todos estos casos l\u00edmite es el mismo. El error visible rara vez describe la causa real. Solo indica que WordPress no pudo inicializar su capa de base de datos, y la capa de extensiones suele ser la primera suposici\u00f3n.Cuando llegas a este nivel de diagn\u00f3stico, la soluci\u00f3n ya no consiste en instalar paquetes. Se convierte en un proceso de seguimiento del flujo de ejecuci\u00f3n, verificaci\u00f3n de la coherencia de la configuraci\u00f3n y confirmaci\u00f3n de que cada capa se comunica exactamente como deber\u00eda.La buena noticia es que, una vez identificado el punto real de fallo, la soluci\u00f3n suele ser sencilla. La dificultad no est\u00e1 en aplicar la correcci\u00f3n, sino en diagnosticar la capa correcta.A continuaci\u00f3n, reuniremos todo en una lista final de verificaci\u00f3n de diagn\u00f3stico para que puedas comprobar cada capa de forma met\u00f3dica antes de escalar el problema.Leer tambi\u00e9n: Una gu\u00eda simple y clara para editar el archivo functions.php en WordPressLista final de verificaci\u00f3n de diagn\u00f3sticoSi deseas resolver este problema de forma clara y met\u00f3dica sin probar soluciones aleatorias, utiliza la lista de verificaci\u00f3n a continuaci\u00f3n. Est\u00e1 pensada precisamente para el caso en el que WordPress insiste en que tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql, pero la causa real puede estar oculta en el contexto del entorno de ejecuci\u00f3n.Confirma la versi\u00f3n de PHP en el navegador mediante phpinfo(), no solo mediante SSH. Si las versiones de CLI y web son diferentes, no est\u00e1s depurando el mismo entorno de ejecuci\u00f3n.En phpinfo(), verifica que mysqli o pdo_mysql aparezcan en la lista. Si ninguno aparece, la extensi\u00f3n realmente falta.Comprueba la ruta de Loaded Configuration File. Aseg\u00farate de que el php.ini que est\u00e1s editando es el que realmente carga el entorno web.Localiza extension_dir y confirma que coincide con la compilaci\u00f3n activa de PHP. Un directorio incorrecto puede impedir silenciosamente que los m\u00f3dulos se carguen.Si utilizas PHP-FPM, confirma qu\u00e9 pool y qu\u00e9 socket usa tu servidor web. Despu\u00e9s de actualizaciones, las configuraciones de Nginx o Apache a menudo siguen apuntando a sockets antiguos.Reinicia el servicio correcto. Reiniciar \u201calg\u00fan\u201d servicio PHP-FPM no es suficiente si existen varias versiones. Debe reiniciarse la que est\u00e1 activa.Si la extensi\u00f3n est\u00e1 cargada pero el error contin\u00faa, verifica la conectividad de la base de datos: estado del servicio, tipo de host (socket vs TCP) y si la ruta del socket cambi\u00f3.Vuelve a revisar wp-config.php en DB_HOST. En entornos con contenedores, el host correcto suele ser un nombre de servicio en lugar de localhost.Si tu sistema utiliza SELinux o pol\u00edticas de seguridad reforzadas, confirma que PHP tenga permiso para acceder al socket de la base de datos o al puerto de red.Elimina el archivo info.php cuando hayas terminado. Dejarlo accesible p\u00fablicamente supone un riesgo de seguridad.Si puedes marcar todos los puntos anteriores y el sitio a\u00fan falla, entonces ya no est\u00e1s en el territorio de \u201cextensi\u00f3n faltante\u201d. En esa etapa, se trata de un problema m\u00e1s profundo de infraestructura o de consistencia en la compilaci\u00f3n, no de una actualizaci\u00f3n de WordPress.Preguntas frecuentes\u00bfPor qu\u00e9 WordPress dice que falta la extensi\u00f3n MySQL si MySQLi est\u00e1 instalada?Porque el mensaje utiliza una redacci\u00f3n heredada. WordPress necesita mysqli o pdo_mysql, pero si PHP no logra cargarlos en el entorno de ejecuci\u00f3n activo, o si el contexto del runtime no coincide, WordPress puede seguir mostrando errores de wordpress sin extensi\u00f3n mysql.\u00bfPHP 8.3 sigue siendo compatible con MySQL?S\u00ed. PHP 8.3 es compatible con MySQL mediante mysqli y pdo_mysql. Si est\u00e1s viendo php sin extensi\u00f3n mysql wordpress, normalmente se trata de un problema de configuraci\u00f3n o de alineaci\u00f3n del entorno de ejecuci\u00f3n, no de una falta de soporte en PHP.\u00bfC\u00f3mo habilito MySQLi en PHP?En la mayor\u00eda de los sistemas, puedes habilitarlo instalando el paquete correspondiente (a menudo php-mysql) o activando el m\u00f3dulo desde tu panel. En Windows, puede requerir descomentar extension=mysqli en php.ini. El detalle importante es habilitarlo para el entorno de ejecuci\u00f3n de PHP que realmente utiliza tu servidor web.\u00bfPor qu\u00e9 php -m muestra mysqli, pero WordPress sigue fallando?Porque php -m verifica el entorno CLI. Tu servidor web puede estar utilizando una versi\u00f3n diferente de PHP, un php.ini distinto o un pool diferente de PHP-FPM. Esta es una de las causas m\u00e1s comunes detr\u00e1s de situaciones de corregir error de extensi\u00f3n mysql wordpress.\u00bfPuede este error deberse a credenciales incorrectas de la base de datos?S\u00ed. Si WordPress falla en una fase temprana durante la inicializaci\u00f3n de la base de datos, el mensaje de error puede resultar enga\u00f1oso. Credenciales incorrectas, un servicio de base de datos ca\u00eddo o un desajuste de socket pueden provocar s\u00edntomas similares incluso cuando mysqli est\u00e1 cargado.\u00bfEste problema suele solucionarse actualizando WordPress?A veces, pero no con frecuencia en configuraciones modernas. En entornos con PHP 8.x, este error suele estar m\u00e1s relacionado con la configuraci\u00f3n del servidor que con archivos desactualizados del n\u00facleo de WordPress.Nota finalEn la mayor\u00eda de los casos reales, tu instalaci\u00f3n de php parece no tener la extensi\u00f3n mysql no es un problema de WordPress ni un problema que se solucione \u201creinstalando PHP\u201d. Es una se\u00f1al de que una capa dentro de la cadena de ejecuci\u00f3n de PHP est\u00e1 desincronizada. Una vez que identificas qu\u00e9 entorno de ejecuci\u00f3n est\u00e1 atendiendo realmente la solicitud y confirmas que mysqli o pdo_mysql est\u00e1n cargados all\u00ed, la soluci\u00f3n suele ser directa.En CoDiCo, las soluciones m\u00e1s r\u00e1pidas casi siempre comienzan verificando primero la alineaci\u00f3n del entorno de ejecuci\u00f3n, no instalando m\u00e1s paquetes."},{"@context":"https:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Es","item":"https:\/\/codico.io\/es\/#breadcrumbitem"},{"@type":"ListItem","position":2,"name":"Tu Instalaci\u00f3n de PHP Parece No Tener la Extensi\u00f3n MySQL en WordPress &#8211; Soluci\u00f3n Completa","item":"https:\/\/codico.io\/es\/wordpress-falta-extension-mysql-solucion\/#breadcrumbitem"}]}]