
🔧 Erreur PHP missing MySQL extension dans WordPress : comment la corriger en 10 minutes
Vous visitez votre site WordPress pour accéder au panneau d’administration, mais à la place, vous voyez un écran blanc avec une erreur: «Your PHP installation appears to be missing the MySQL extension which is required by WordPress». Redémarrer ne change rien, l’hébergeur reste muet, le site est un poids mort.
Cette erreur n’est pas une condamnation à mort pour votre serveur et il n’y a aucune raison de paniquer. Le plus souvent, elle apparaît après une mise à jour de PHP, un déplacement du site vers un autre VPS ou un changement de système d’exploitation. WordPress perd le pont entre PHP et MySQL, et vous pouvez le rétablir en 10 minutes.
Voici un guide pas à pas: du diagnostic au rechargement final de la configuration. Toutes les commandes sont valables pour PHP 8.0 à 8.4, les serveurs sous Ubuntu, les distributions compatibles RedHat et les hébergements avec cPanel.
💡 Aperçu rapide:
- Vérifiez la version actuelle de PHP et les extensions actives via l’outil Santé du site de WordPress
- Installez les modules manquants:
sudo apt install php-mysqlpour Ubuntu ousudo dnf install php-mysqlndpour RHEL - Vérifiez la directive
extension_dirdans php.ini, lors d’une migration de serveur le chemin est souvent corrompu - Activez
mysqlietpdo_mysqlvia votre panneau d’hébergement (cPanel, Plesk) en deux clics - Assurez-vous que les versions de WordPress et de PHP sont compatibles: les deux doivent être à jour
1. Vérifier la version de PHP et les extensions actives
La méthode de diagnostic la plus rapide est l’outil Santé du site intégré à WordPress. Allez dans le panneau d’administration: Outils, Santé du site, onglet Infos. Dépliez la section Serveur, vous y trouverez la version de PHP. Si elle est inférieure à 7.4, il est temps de mettre à jour: selon les prérequis WordPress, la version minimale de PHP pour WP 6.x est 7.4, et la version recommandée est 8.0+.
Dépliez maintenant la section Base de données. Si les lignes mysqli et pdo_mysql sont vides ou absentes, vous avez trouvé la cause de l’erreur. WordPress essaie d’utiliser une extension qui n’existe pas dans la compilation de PHP.
Pendant que vous y êtes, vérifiez la section Système de fichiers: des problèmes de permissions peuvent indirectement affecter le chargement des modules PHP.
Si le panneau d’administration est inaccessible (écran blanc complet), créez un fichier info.php à la racine du site avec le code <?php phpinfo(); et ouvrez-le dans votre navigateur. La première ligne affichera la version exacte de PHP, et une recherche sur mysqli vous indiquera si l’extension existe.
2. Installer les extensions mysqli et PDO MySQL via la console
Connectez-vous au serveur en SSH et vérifiez ce qui est installé:
1 php -v 2 php -m | grep -E 'mysqli|pdo_mysql'
Si mysqli et pdo_mysql sont absents de la sortie, installez-les. Les commandes diffèrent selon la distribution.
Ubuntu / Debian:
1 sudo apt update 2 sudo apt install php-mysql
Le paquet php-mysql embarque mysqli, pdo_mysql et le pilote mysqlnd, tout ce dont WordPress a besoin. Si vous avez plusieurs versions de PHP, précisez-en une en particulier: php8.2-mysql, php8.3-mysql. Les détails d’installation sont décrits dans le manuel PHP de mysqli.
RHEL / CentOS / AlmaLinux:
1 sudo dnf update 2 sudo dnf install php-mysqlnd
Après l’installation, redémarrez le serveur web:
1 sudo systemctl restart apache2 2 sudo systemctl restart php8.3-fpm 3 sudo systemctl restart nginx
Dans la plupart des cas, l’erreur disparaît immédiatement après le redémarrage.
3. Vérifier la directive extension_dir dans php.ini
Les paquets sont installés, mais WordPress continue d’afficher l’erreur? Cela arrive lors d’une migration de site: la configuration PHP a «voyagé» avec les anciens chemins vers le nouveau serveur.
Ouvrez info.php dans votre navigateur et repérez le paramètre Loaded Configuration File, c’est le chemin du php.ini actif.
Cherchez maintenant extension_dir, le répertoire depuis lequel PHP charge les modules. Si la valeur est vide ou pointe vers un dossier inexistant, mysqli.so ne se chargera pas et WordPress ne verra pas MySQL.
Ouvrez php.ini (vous connaissez déjà le chemin) et trouvez la ligne extension_dir. Mettez-la à jour avec la valeur actuelle. Sur Ubuntu 22.04/24.04 avec PHP 8.3, c’est généralement:
1 extension_dir = "/usr/lib/php/20230831"
Sur les serveurs avec cPanel, le chemin est différent, vérifiez la valeur exacte dans info.php.

Après avoir modifié et enregistré php.ini, redémarrez le serveur web et surtout supprimez info.php: un phpinfo() public expose les versions des modules et les chemins absolus du serveur.
4. Activer les extensions via le panneau de contrôle de l’hébergement
Vous travaillez via un panneau plutôt qu’en console? La plupart des panneaux d’hébergement permettent de gérer les extensions à la souris:
- cPanel: Select PHP Version, cochez les cases à côté de
mysqlietpdo_mysql, enregistrez. Profitez-en pour basculer la version de PHP vers une version récente. - Plesk: Domaines, votre domaine, Paramètres PHP, cherchez
mysqlietpdo_mysqldans la liste des extensions. - DirectAdmin: Extra Features, Select PHP Version, cochez les extensions nécessaires.
- **SiteGround, Cloudways, **Kinsta et autres hébergements managés: section PHP Extensions dans le panneau du site.
Après activation des extensions, le panneau redémarrera PHP automatiquement, le site fonctionnera dans la minute.
5. Vérifier la compatibilité des versions de WordPress et de PHP
WordPress 6.x (version actuelle en 2026) exige au minimum PHP 7.4 et recommande 8.0+. Si vous êtes en PHP 7.0 ou 7.1, même des extensions installées ne serviront à rien: le cœur de WP attend des modules pour une version moderne de PHP.
Vérifiez la compatibilité: panneau d’administration, Outils, Santé du site, Info, Serveur. Si PHP est inférieur à 7.4, mettez à jour:
- Hébergement mutualisé: panneau de contrôle (cPanel/Plesk), basculez PHP vers 8.2 ou 8.3.
- VPS: mettez à jour via le gestionnaire de paquets:
1 sudo apt update 2 sudo apt install php8.3 php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring
Après la mise à jour de PHP, mettez aussi WordPress à jour: Tableau de bord, Mises à jour, Mettre à jour maintenant. Les anciennes versions de WP font référence à l’extension mysql, qui a été supprimée de PHP en 2015, d’où l’erreur.
D’ailleurs, à propos d’un problème connexe: si WordPress se plaint d’un manque de mémoire lors d’une migration, nous avons un article détaillé sur comment augmenter la limite de mémoire PHP dans WordPress.
Qu’est-ce qui peut encore poser problème
Si vous avez essayé les 5 méthodes et que l’erreur persiste, voici deux cas particuliers.
Lignes obsolètes dans php.ini. Après une mise à jour de PHP 5.x vers 8.x, php.ini peut contenir des lignes résiduelles extension=mysql.so. Sous PHP 8, ce fichier n’existe pas: le module a été retiré du cœur. Ouvrez php.ini et commentez ou supprimez mysql.so, mysql.dll et libmysql. La liste des extensions supprimées se trouve dans le guide de migration PHP.
Plusieurs versions de PHP sur le serveur. Sur un VPS, PHP 7.4 et PHP 8.3 cohabitent souvent. La commande php -m affiche les modules de la version CLI, mais le site peut en utiliser une autre, celle configurée dans Apache/FPM. Vérifiez info.php: la première ligne indique la version exacte de PHP pour le web. Installez les paquets correspondants.
Une vidéo de l'équipe Hostinger montre l'installation de l'extension via cPanel et la console, 4 minutes et tout est parfaitement clair.
⁉️🤔 Foire aux questions
Pourquoi l’erreur mentionne-t-elle l’extension MySQL alors que c’est mysqli qui est nécessaire?
Le message d’erreur n’a pas changé depuis l’époque de PHP 5.x. À l’époque, l’extension s’appelait
mysql, et WordPress la vérifiait spécifiquement. Avec PHP 8.x, l’extensionmysqla été complètement supprimée, WordPress utilisemysqliouPDO_MySQL. Le texte de l’erreur est resté le même pour des raisons historiques. Installez le paquetphp-mysql: il contientmysqli,pdo_mysqletmysqlnd, tout ce dont WordPress a besoin.
Peut-on corriger l’erreur sans accès au serveur?
Oui, si le site est sur un hébergement mutualisé. Connectez-vous au panneau de contrôle (cPanel, Plesk, DirectAdmin), cherchez «Select PHP Version» ou «PHP Settings», activez
mysqlietpdo_mysqlvia les cases à cocher. Le panneau redémarrera PHP automatiquement, l’accès console n’est pas nécessaire. Sur des hébergeurs comme Hostinger ou Bluehost, ces extensions sont activées par défaut; si l’erreur est apparue après un changement d’offre, le support activera les modules en quelques minutes.
Que faire si le site ne fonctionne toujours pas après toutes les corrections?
Vérifiez trois points. Premièrement: ouvrez
info.phpet assurez-vous quemysqlis’affiche avec une version de l’API Client. L’absence de section signifie que le module ne s’est pas chargé, revérifiezextension_dir. Deuxièmement: redémarrez l’intégralité du serveur web,sudo systemctl restart apache2(ounginxplusphp-fpm). Troisièmement: vérifiez DB_HOST, DB_NAME, DB_USER et DB_PASSWORD danswp-config.php, il arrive que l’erreur masque des identifiants de base de données incorrects.
Faut-il passer à MariaDB si l’erreur se répète?
Non, remplacer le serveur de base de données ne résoudra pas le problème. L’erreur est exclusivement liée aux extensions PHP. MariaDB est un fork de MySQL, et WordPress fonctionne avec lui via les mêmes
mysqliouPDO. La plupart des hébergeurs sont déjà passés à MariaDB par défaut, les sites WordPress fonctionnent parfaitement avec.
Est-il obligatoire d’installer spécifiquement PHP 8.3?
Non, toute version de PHP 8.x (8.0-8.4) fonctionnera. L’essentiel est de ne pas descendre en dessous de 7.4. Nous recommandons 8.2 ou 8.3: ce sont les branches stables qui bénéficient d’un support de sécurité actif en 2026, selon le calendrier officiel de PHP. PHP 8.0 et 8.1 sont déjà en statut de corrections de sécurité uniquement, et PHP 7.4 ne reçoit plus de correctifs depuis novembre 2022.
Faut-il paniquer face à cette erreur
L’erreur «missing MySQL extension» a l’air effrayante, mais c’est essentiellement un signal: le serveur n’est pas entièrement configuré. PHP sans module pour le travail en base de données, c’est comme une voiture sans clé de contact. Les méthodes décrites couvrent l’immense majorité des cas, un administrateur système n’est pas nécessaire.
Après la correction, faites un peu de ménage: supprimez info.php, mettez à jour WordPress et les extensions vers les dernières versions, paramétrez des sauvegardes automatiques via UpdraftPlus ou le panneau d’hébergement. Ainsi, la prochaine migration ou mise à jour de PHP se passera sans surprise.



