Skip to content

Tout pour WordPress, le développement web — et plus encore

🔧 Erreur PHP missing MySQL extension dans WordPress : comment la corriger en 10 minutes

🔧 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-mysql pour Ubuntu ou sudo dnf install php-mysqlnd pour RHEL
  • Vérifiez la directive extension_dir dans php.ini, lors d’une migration de serveur le chemin est souvent corrompu
  • Activez mysqli et pdo_mysql via 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é:

1php -v
2php -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:

1sudo apt update
2sudo 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:

1sudo dnf update
2sudo dnf install php-mysqlnd

Après l’installation, redémarrez le serveur web:

1sudo systemctl restart apache2
2sudo systemctl restart php8.3-fpm
3sudo 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.

Chemin vers le fichier de configuration PHP chargé dans la sortie phpinfo

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.

Valeur de la directive extension_dir dans la sortie phpinfo

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:

1extension_dir = "/usr/lib/php/20230831"

Sur les serveurs avec cPanel, le chemin est différent, vérifiez la valeur exacte dans info.php.

Section de support MySQL dans la sortie phpinfo avec la version de la bibliothèque cliente

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 mysqli et pdo_mysql, enregistrez. Profitez-en pour basculer la version de PHP vers une version récente.
  • Plesk: Domaines, votre domaine, Paramètres PHP, cherchez mysqli et pdo_mysql dans 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:
1sudo apt update
2sudo 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’extension mysql a été complètement supprimée, WordPress utilise mysqli ou PDO_MySQL. Le texte de l’erreur est resté le même pour des raisons historiques. Installez le paquet php-mysql: il contient mysqli, pdo_mysql et mysqlnd, 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 mysqli et pdo_mysql via 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.php et assurez-vous que mysqli s’affiche avec une version de l’API Client. L’absence de section signifie que le module ne s’est pas chargé, revérifiez extension_dir. Deuxièmement: redémarrez l’intégralité du serveur web, sudo systemctl restart apache2 (ou nginx plus php-fpm). Troisièmement: vérifiez DB_HOST, DB_NAME, DB_USER et DB_PASSWORD dans wp-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 mysqli ou PDO. 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.