{"id":22053,"date":"2026-03-03T11:06:11","date_gmt":"2026-03-03T11:06:11","guid":{"rendered":"https:\/\/codico.io\/your-php-installation-appears-to-be-missing-the-mysql-extension-in-wordpress-complete-fix\/"},"modified":"2026-03-04T08:18:27","modified_gmt":"2026-03-04T08:18:27","slug":"wordpress-erreur-extension-mysql-manquante","status":"publish","type":"post","link":"https:\/\/codico.io\/fr\/wordpress-erreur-extension-mysql-manquante\/","title":{"rendered":"Installation PHP Sans Extension MySQL dans WordPress : Comment Corriger l\u2019Erreur"},"content":{"rendered":"<h2 class=\"wp-block-heading\">L\u2019erreur qui appara\u00eet soudainement<\/h2><p>Vous mettez \u00e0 jour PHP.<br\/>Ou migrez votre site.<br\/>Ou lancez un nouveau VPS et installez WordPress depuis z\u00e9ro.<\/p><p>Tout semble fonctionner \u2014 jusqu\u2019\u00e0 ce que ce ne soit plus le cas.<\/p><p>Soudain, au lieu de votre page d\u2019accueil, vous voyez ceci :<\/p><blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>Votre installation PHP semble ne pas inclure l\u2019extension MySQL requise par WordPress.<\/em><\/p><\/blockquote><p>C\u2019est l\u2019un de ces messages qui semblent simples\u2026 mais qui le sont rarement.<\/p><p>Dans les anciens guides, l\u2019explication est presque toujours la m\u00eame :<br\/>\u00ab Installez l\u2019extension MySQL \u00bb.<\/p><p>En r\u00e9alit\u00e9, surtout dans les environnements modernes (PHP 8.2, 8.3, 8.4), cette erreur a g\u00e9n\u00e9ralement tr\u00e8s peu \u00e0 voir avec une extension manquante \u2014 et beaucoup plus avec la fa\u00e7on dont PHP est configur\u00e9, charg\u00e9 ou s\u00e9par\u00e9 entre diff\u00e9rents environnements.<\/p><p>Elle appara\u00eet parfois :<\/p><ul class=\"wp-block-list\"><li>juste apr\u00e8s une mise \u00e0 jour vers PHP 8.3<\/li>\n\n<li>apr\u00e8s \u00eatre pass\u00e9 d\u2019Apache \u00e0 Nginx<\/li>\n\n<li>lors d\u2019une reconstruction Docker<\/li>\n\n<li>apr\u00e8s une migration de serveur<\/li>\n\n<li>lorsque CLI et FPM utilisent des versions diff\u00e9rentes de PHP<\/li><\/ul><p>Et parfois \u2014 apr\u00e8s<\/p><h2 class=\"wp-block-heading\">Diagnostic rapide en 60 secondes<\/h2><p>Avant de r\u00e9installer quoi que ce soit ou de modifier les fichiers de configuration, prenez un moment. Lorsque vous voyez le message <em>your php installation appears to be missing the mysql extension<\/em>, le r\u00e9flexe est souvent de commencer imm\u00e9diatement \u00e0 installer des paquets. En pratique, cela aggrave souvent la situation.<\/p><p>L\u2019objectif r\u00e9el est simple : d\u00e9terminer si <em>wordpress missing mysql extension<\/em> est r\u00e9ellement caus\u00e9 par une extension manquante, ou si PHP charge quelque chose de diff\u00e9rent de ce que vous attendez.<\/p><p>Dans les environnements modernes, en particulier avec PHP 8.2 ou 8.3, le probl\u00e8me est souvent li\u00e9 au contexte plut\u00f4t qu\u2019\u00e0 une v\u00e9ritable absence.<\/p><h3 class=\"wp-block-heading\">1. V\u00e9rifier la version PHP active<\/h3><p>Commencez par les bases. Quelle version de PHP est r\u00e9ellement en cours d\u2019ex\u00e9cution ?<\/p><p>Si vous avez un acc\u00e8s SSH :<\/p><pre class=\"wp-block-preformatted\">php -v<\/pre><p>Cela affiche la version CLI. C\u2019est utile, mais pas d\u00e9finitif. Votre serveur web peut ex\u00e9cuter une version de PHP totalement diff\u00e9rente.<\/p><p>Pour confirmer l\u2019environnement web, cr\u00e9ez un fichier temporaire nomm\u00e9 <code>info.php<\/code> dans le r\u00e9pertoire racine de votre installation WordPress :<\/p><pre class=\"wp-block-preformatted\"><?php phpinfo();<\/div??><\/pre><p>Ouvrez-le dans votre navigateur et v\u00e9rifiez :<\/p><ul class=\"wp-block-list\"><li>la version de PHP<\/li>\n\n<li>le chemin du <em>Loaded Configuration File<\/em><\/li>\n\n<li>le Server API (Apache, FPM\/FastCGI, etc.)<\/li><\/ul><p>Il est \u00e9tonnamment courant de voir PHP 8.3 en CLI alors que le navigateur indique PHP 8.1. Dans ce cas, <em>php missing mysql extension wordpress<\/em> peut ne pas concerner MySQL du tout. Il peut simplement s\u2019agir de la mauvaise instance PHP.<\/p><h3 class=\"wp-block-heading\">2. V\u00e9rifier que MySQLi ou PDO_MySQL est charg\u00e9<\/h3><p>Dans la sortie de <code>phpinfo()<\/code>, recherchez :<\/p><ul class=\"wp-block-list\"><li><code>mysqli<\/code><\/li>\n\n<li><code>pdo_mysql<\/code><\/li><\/ul><p>Si aucun des deux n\u2019appara\u00eet, alors PHP ne dispose r\u00e9ellement pas du support MySQL et le message <em>your php installation appears to be missing the mysql extension<\/em> est techniquement correct.<\/p><p>S\u2019ils apparaissent, la situation devient plus int\u00e9ressante. WordPress peut toujours afficher une erreur <em>missing mysqli extension wordpress<\/em> m\u00eame si l\u2019extension existe. Cela indique g\u00e9n\u00e9ralement un probl\u00e8me de configuration plut\u00f4t qu\u2019un \u00e9chec d\u2019installation.<\/p><p>Depuis SSH, vous pouvez \u00e9galement ex\u00e9cuter :<\/p><pre class=\"wp-block-preformatted\">php -m | grep -i mysql<\/pre><p>Encore une fois, cette commande v\u00e9rifie uniquement les modules CLI. Le serveur web peut charger un ensemble d\u2019extensions diff\u00e9rent.<\/p><h3 class=\"wp-block-heading\">3. V\u00e9rifier le fichier php.ini charg\u00e9<\/h3><p>Sur la page <code>phpinfo()<\/code>, rep\u00e9rez la ligne :<\/p><p><em>Loaded Configuration File<\/em><\/p><p>Assurez-vous que le chemin correspond \u00e0 la version de PHP r\u00e9ellement utilis\u00e9e par votre serveur web.<\/p><p>Puis recherchez :<\/p><pre class=\"wp-block-preformatted\">extension_dir<\/pre><p>Si <code>extension_dir<\/code> pointe vers un r\u00e9pertoire incorrect ou vers une autre version de PHP, des extensions comme <code>mysqli<\/code> ou <code>pdo_mysql<\/code> peuvent exister sur le disque mais ne pas se charger \u00e0 l\u2019ex\u00e9cution. Dans ces cas, <em>fix mysql extension error wordpress<\/em> ne signifie pas installer quelque chose de nouveau. Il s\u2019agit plut\u00f4t d\u2019aligner PHP avec son r\u00e9pertoire d\u2019extensions correct.<\/p><p>\u00c0 ce stade, l\u2019une des trois conclusions suivantes appara\u00eet g\u00e9n\u00e9ralement :<\/p><ul class=\"wp-block-list\"><li>L\u2019extension n\u2019est pas install\u00e9e du tout.<\/li>\n\n<li>L\u2019extension est install\u00e9e mais n\u2019est pas activ\u00e9e pour l\u2019environnement d\u2019ex\u00e9cution actif.<\/li>\n\n<li>Le PHP en CLI et celui du serveur web utilisent des configurations diff\u00e9rentes.<\/li><\/ul><p>Ce n\u2019est qu\u2019apr\u00e8s avoir identifi\u00e9 le sc\u00e9nario correspondant que vous devez avancer. Sinon, vous risquez de r\u00e9soudre le mauvais probl\u00e8me.<\/p><h2 class=\"wp-block-heading\">Pourquoi cette erreur est trompeuse dans les environnements PHP modernes<\/h2><p>\u00c0 premi\u00e8re vue, le message <em>your php installation appears to be missing the mysql extension<\/em> semble pr\u00e9cis. Il sugg\u00e8re qu\u2019un \u00e9l\u00e9ment est absent et que son installation r\u00e9soudra tout.<\/p><p>En 2026, cette hypoth\u00e8se est souvent incorrecte.<\/p><p>L\u2019extension <code>mysql<\/code> d\u2019origine est obsol\u00e8te depuis des ann\u00e9es et a \u00e9t\u00e9 compl\u00e8tement supprim\u00e9e des versions modernes de PHP. WordPress ne l\u2019utilise plus. \u00c0 la place, il s\u2019appuie sur <code>mysqli<\/code> ou <code>pdo_mysql<\/code>, tous deux standards dans les versions PHP 8.x.<\/p><p>Ainsi, lorsque WordPress affiche aujourd\u2019hui une erreur <em>wordpress missing mysql extension<\/em>, cela signifie rarement \u00ab vous avez oubli\u00e9 d\u2019installer le support MySQL \u00bb. Le plus souvent, cela indique que PHP n\u2019a pas r\u00e9ussi \u00e0 charger le module correct au moment de l\u2019ex\u00e9cution.<\/p><p>Cette distinction est importante.<\/p><p><em><mark>Lire aussi:<a href=\"https:\/\/codico.io\/fr\/modifier-fichier-functions-php-wordpress\/\"> <\/a><a href=\"https:\/\/codico.io\/fr\/comment-ameliorer-le-temps-de-premiere-reponse-ttfb-de-votre-site-wordpress\/\" title=\"\">Comment am\u00e9liorer le Time to First Byte (TTFB) de votre site WordPress<\/a><\/mark><\/em><\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"968\" height=\"520\" src=\"https:\/\/codico.io\/wp-content\/uploads\/2026\/03\/MySQL-vs-MySQLi.png\" alt=\"MySQL-vs-MySQLi\" class=\"wp-image-22032\" srcset=\"https:\/\/codico.io\/wp-content\/uploads\/2026\/03\/MySQL-vs-MySQLi.png 968w, https:\/\/codico.io\/wp-content\/uploads\/2026\/03\/MySQL-vs-MySQLi-300x161.png 300w, https:\/\/codico.io\/wp-content\/uploads\/2026\/03\/MySQL-vs-MySQLi-768x413.png 768w, https:\/\/codico.io\/wp-content\/uploads\/2026\/03\/MySQL-vs-MySQLi-600x322.png 600w\" sizes=\"(max-width: 968px) 100vw, 968px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\">MySQL vs MySQLi : le pi\u00e8ge du nom<\/h3><p>Le message d\u2019erreur fait toujours r\u00e9f\u00e9rence \u00e0 \u00ab l\u2019extension MySQL \u00bb, ce qui pousse de nombreux d\u00e9veloppeurs \u00e0 rechercher le mauvais paquet. Ils essaient d\u2019installer <code>mysql<\/code>, qui n\u2019existe plus dans PHP 8.2 ou 8.3.<\/p><p>En r\u00e9alit\u00e9, WordPress a besoin de :<\/p><ul class=\"wp-block-list\"><li><code>mysqli<\/code><\/li>\n\n<li>ou <code>pdo_mysql<\/code><\/li><\/ul><p>Si aucun des deux n\u2019est disponible pour l\u2019environnement PHP actif, vous pouvez voir des variantes comme <em>missing mysqli extension wordpress<\/em> ou <em>php missing mysql extension wordpress<\/em>.<\/p><p>Mais la formulation du message d\u2019erreur n\u2019a pas \u00e9volu\u00e9 avec PHP. C\u2019est l\u00e0 que la confusion commence.<\/p><h3 class=\"wp-block-heading\">PHP 8.x et le probl\u00e8me du contexte d\u2019ex\u00e9cution<\/h3><p>Les environnements PHP modernes sont rarement simples.<\/p><p>Vous pouvez avoir :<\/p><ul class=\"wp-block-list\"><li>plusieurs versions de PHP install\u00e9es<\/li>\n\n<li>des pools PHP-FPM s\u00e9par\u00e9s<\/li>\n\n<li>des d\u00e9ploiements conteneuris\u00e9s<\/li>\n\n<li>des versions de PHP compil\u00e9es sur mesure<\/li>\n\n<li>diff\u00e9rents fichiers <code>php.ini<\/code> pour le CLI et le web<\/li><\/ul><p>Dans ces environnements, <em>fix mysql extension error wordpress<\/em> ne consiste pas \u00e0 t\u00e9l\u00e9charger un module. Il s\u2019agit de s\u2019assurer que le bon environnement PHP charge la bonne extension depuis le bon r\u00e9pertoire.<\/p><p>Par exemple :<\/p><ul class=\"wp-block-list\"><li>le CLI peut afficher <code>mysqli<\/code> comme charg\u00e9<\/li>\n\n<li>alors que l\u2019environnement web ne le charge pas<\/li>\n\n<li>ou PHP-FPM peut pointer vers un <code>extension_dir<\/code> obsol\u00e8te<\/li>\n\n<li>ou une reconstruction de conteneur peut avoir ignor\u00e9 <code>pdo_mysql<\/code><\/li><\/ul><p>Tous ces sc\u00e9narios d\u00e9clenchent le m\u00eame message.<\/p><p>C\u2019est pourquoi installer des paquets \u00e0 l\u2019aveugle est rarement la bonne premi\u00e8re \u00e9tape. Le vrai probl\u00e8me concerne presque toujours un manque d\u2019alignement.<\/p><p>WordPress, PHP et la base de donn\u00e9es doivent fonctionner dans le m\u00eame contexte de configuration. Lorsqu\u2019un \u00e9l\u00e9ment change \u2014 notamment lors d\u2019une mise \u00e0 niveau de PHP vers 8.3 \u2014 le syst\u00e8me se d\u00e9r\u00e8gle discr\u00e8tement et WordPress affiche cette erreur g\u00e9n\u00e9rique.<\/p><h3 class=\"wp-block-heading\">Quand le probl\u00e8me ne vient m\u00eame pas de l\u2019extension<\/h3><p>Il existe une autre nuance facile \u00e0 n\u00e9gliger.<\/p><p>Parfois, l\u2019extension est correctement charg\u00e9e, mais WordPress ne peut toujours pas se connecter \u00e0 la base de donn\u00e9es. Dans ces cas, le message peut appara\u00eetre parce que la couche de connexion \u00e0 la base de donn\u00e9es \u00e9choue tr\u00e8s t\u00f4t dans le processus d\u2019initialisation.<\/p><p>Cela peut se produire lorsque :<\/p><ul class=\"wp-block-list\"><li>les identifiants de la base de donn\u00e9es sont incorrects<\/li>\n\n<li>le chemin du socket MySQL a chang\u00e9<\/li>\n\n<li>MariaDB fonctionne via TCP alors que PHP attend un socket Unix<\/li>\n\n<li>le service de base de donn\u00e9es est arr\u00eat\u00e9<\/li>\n\n<li>SELinux bloque l\u2019acc\u00e8s<\/li><\/ul><p>Du point de vue de WordPress, la connexion \u00e0 la base de donn\u00e9es \u00e9choue. L\u2019hypoth\u00e8se de secours est alors un support MySQL manquant.<\/p><p>Autrement dit, le message d\u2019erreur ne d\u00e9crit pas toujours la cause r\u00e9elle. Il d\u00e9crit le sympt\u00f4me.<\/p><p>Comprendre ce contexte change la mani\u00e8re d\u2019aborder le probl\u00e8me. Au lieu de r\u00e9installer des extensions, vous commencez \u00e0 analyser la cha\u00eene d\u2019ex\u00e9cution.<\/p><p>Et c\u2019est l\u00e0 que commence le v\u00e9ritable diagnostic.<\/p><p><em><mark>Lire aussi:<a href=\"https:\/\/codico.io\/fr\/modifier-fichier-functions-php-wordpress\/\"> <\/a><a href=\"https:\/\/codico.io\/fr\/comment-vider-le-cache-wordpress\/\" title=\"\">Comment vider le cache WordPress lorsque vos modifications n\u2019apparaissent pas<\/a><\/mark><\/em><\/p><h2 class=\"wp-block-heading\">O\u00f9 la connexion se rompt<\/h2><p>Lorsque WordPress affiche le message <em>your php installation appears to be missing the mysql extension<\/em>, quelque chose \u00e9choue dans la cha\u00eene d\u2019ex\u00e9cution. La fa\u00e7on la plus claire de le comprendre est d\u2019observer directement cette cha\u00eene.<\/p><p>\u00c0 un niveau global, le flux ressemble \u00e0 ceci :<\/p><pre class=\"wp-block-preformatted\">WordPress Core<br\/> \u2193<br\/>PHP Runtime (Web SAPI \/ PHP-FPM \/ Apache Module)<br\/> \u2193<br\/>MySQL Extension (mysqli or pdo_mysql)<br\/> \u2193<br\/>Database Engine (MySQL 8 \/ MariaDB)<\/pre><p>Si un maillon de cette cha\u00eene est mal align\u00e9, WordPress ne peut pas initialiser la couche de base de donn\u00e9es. Le r\u00e9sultat peut \u00eatre une erreur <em>wordpress missing mysql extension<\/em>, m\u00eame si l\u2019extension existe techniquement.<\/p><p>Examinons o\u00f9 cette cha\u00eene se rompt le plus souvent.<\/p><h3 class=\"wp-block-heading\">1. L\u2019extension n\u2019est pas install\u00e9e<\/h3><p>C\u2019est le sc\u00e9nario le plus simple. PHP a \u00e9t\u00e9 install\u00e9 sans <code>mysqli<\/code> ni <code>pdo_mysql<\/code>.<\/p><p>Cela peut se produire lorsque :<\/p><ul class=\"wp-block-list\"><li>PHP est compil\u00e9 depuis les sources sans <code>mysqlnd<\/code><\/li>\n\n<li>des images de conteneur minimales sont utilis\u00e9es<\/li>\n\n<li>PHP est install\u00e9 manuellement sur un VPS sans le paquet MySQL<\/li><\/ul><p>Dans ce cas, <code>php -m<\/code> et <code>phpinfo()<\/code> n\u2019afficheront pas <code>mysqli<\/code> ni <code>pdo_mysql<\/code>. L\u2019erreur est alors correcte.<\/p><h3 class=\"wp-block-heading\">2. L\u2019extension est install\u00e9e mais non activ\u00e9e<\/h3><p>Ici, l\u2019extension existe sur le disque mais n\u2019est pas charg\u00e9e.<\/p><p>Raisons courantes :<\/p><ul class=\"wp-block-list\"><li><code>extension=mysqli<\/code> est absent du fichier <code>php.ini<\/code><\/li>\n\n<li>l\u2019extension est compil\u00e9e mais non activ\u00e9e<\/li>\n\n<li>diff\u00e9rents fichiers <code>php.ini<\/code> sont utilis\u00e9s pour le CLI et le web<\/li>\n\n<li>un mauvais <code>extension_dir<\/code> est configur\u00e9<\/li><\/ul><p>C\u2019est dans ce cas que se situent de nombreux probl\u00e8mes <em>php missing mysql extension wordpress<\/em>. Les d\u00e9veloppeurs voient <code>mysqli.so<\/code> dans le dossier des extensions et supposent que tout fonctionne. Pendant ce temps, PHP-FPM ne le charge jamais.<\/p><h3 class=\"wp-block-heading\">3. Le PHP CLI et le PHP du web sont diff\u00e9rents<\/h3><p>C\u2019est l\u2019une des causes les plus fr\u00e9quentes dans les environnements modernes.<\/p><p>Vous ex\u00e9cutez :<\/p><pre class=\"wp-block-preformatted\">php -m | grep -i mysql<\/pre><p>La commande affiche <code>mysqli<\/code>.<\/p><p>Tout semble correct.<\/p><p>Mais le serveur web utilise en r\u00e9alit\u00e9 une autre version de PHP. Cette version peut ne pas avoir le support MySQL activ\u00e9.<\/p><p>Dans cette situation, le probl\u00e8me n\u2019est pas l\u2019absence du support MySQL. Il s\u2019agit d\u2019un d\u00e9calage entre les environnements d\u2019ex\u00e9cution.<\/p><p>Cela arrive particuli\u00e8rement souvent apr\u00e8s :<\/p><ul class=\"wp-block-list\"><li>une mise \u00e0 jour vers PHP 8.3<\/li>\n\n<li>un changement de panneau d\u2019h\u00e9bergement<\/li>\n\n<li>l\u2019activation de MultiPHP dans cPanel<\/li>\n\n<li>une migration d\u2019Apache vers Nginx<\/li><\/ul><p>Les environnements CLI et web se d\u00e9synchronisent silencieusement.<\/p><h3 class=\"wp-block-heading\">4. L\u2019extension se charge mais la couche base de donn\u00e9es \u00e9choue<\/h3><p>C\u2019est le cas le plus subtil.<\/p><p><code>mysqli<\/code> appara\u00eet dans <code>phpinfo()<\/code>.<br\/>PHP est correct.<br\/>Les chemins de configuration semblent corrects.<\/p><p>Pourtant, WordPress affiche toujours des messages du type <em>fix mysql extension error wordpress<\/em>.<\/p><p>Ici, la rupture se produit plus bas dans la cha\u00eene :<\/p><ul class=\"wp-block-list\"><li>chemin du socket incorrect<\/li>\n\n<li>h\u00f4te incorrect dans <code>wp-config.php<\/code><\/li>\n\n<li>service de base de donn\u00e9es non d\u00e9marr\u00e9<\/li>\n\n<li>MariaDB a \u00e9t\u00e9 mis \u00e0 jour et a modifi\u00e9 ses param\u00e8tres par d\u00e9faut<\/li>\n\n<li>probl\u00e8mes de permissions sur le fichier socket<\/li><\/ul><p>Du point de vue de WordPress, la connexion \u00e9choue lors de l\u2019initialisation. Le message d\u2019erreur suppose que la couche d\u2019extensions en est responsable.<\/p><p>Techniquement, ce n\u2019est pas le cas.<\/p><h3 class=\"wp-block-heading\">5. Environnements conteneuris\u00e9s et cloud<\/h3><p>Dans les d\u00e9ploiements Docker ou cloud, la rupture peut se produire au moment de la construction.<\/p><p>Par exemple :<\/p><ul class=\"wp-block-list\"><li>L\u2019image de base n\u2019inclut pas <code>pdo_mysql<\/code><\/li>\n\n<li><code>docker-php-ext-install mysqli pdo_mysql<\/code> a \u00e9t\u00e9 ignor\u00e9<\/li>\n\n<li>Une reconstruction a remplac\u00e9 la couche PHP mais pas la configuration<\/li>\n\n<li>Des variables d\u2019environnement ont modifi\u00e9 la connectivit\u00e9 \u00e0 la base de donn\u00e9es<\/li><\/ul><p>Dans ces cas, <em>wordpress missing mysql extension<\/em> peut appara\u00eetre apr\u00e8s ce qui semblait \u00eatre une mise \u00e0 jour d\u2019infrastructure sans rapport.<\/p><p>C\u2019est pourquoi cette erreur est rarement isol\u00e9e. Elle est presque toujours li\u00e9e au contexte.<\/p><p>Lorsque vous comprenez la cha\u00eene, vous cessez de consid\u00e9rer ce probl\u00e8me comme une simple question d\u2019installation. \u00c0 la place, vous identifiez quelle couche a chang\u00e9.<\/p><p>Cette approche rend la r\u00e9solution m\u00e9thodique plut\u00f4t que r\u00e9active.<\/p><h2 class=\"wp-block-heading\">Les causes r\u00e9elles derri\u00e8re l\u2019erreur d\u2019extension MySQL<\/h2><p>\u00c0 ce stade, vous avez probablement identifi\u00e9 o\u00f9 la cha\u00eene se rompt. La question devient maintenant pratique : que faut-il exactement corriger ?<\/p><p>La r\u00e9ponse d\u00e9pend enti\u00e8rement de votre environnement. Un h\u00e9bergement mutualis\u00e9 fonctionne tr\u00e8s diff\u00e9remment d\u2019un VPS personnalis\u00e9 ou d\u2019un d\u00e9ploiement Docker. L\u2019erreur affich\u00e9e peut \u00eatre identique, mais la cause sous-jacente varie.<\/p><p>Passons en revue les sc\u00e9narios les plus courants.<\/p><h3 class=\"wp-block-heading\">Environnements d\u2019h\u00e9bergement mutualis\u00e9<\/h3><p>Sur un h\u00e9bergement mutualis\u00e9, en particulier avec cPanel ou des panneaux de contr\u00f4le similaires, le probl\u00e8me est souvent li\u00e9 au changement de version de PHP.<\/p><p>De nombreux fournisseurs d\u2019h\u00e9bergement permettent d\u2019utiliser plusieurs versions de PHP simultan\u00e9ment. Vous pouvez passer \u00e0 PHP 8.3 dans le panneau de contr\u00f4le, mais le domaine peut toujours \u00eatre li\u00e9 \u00e0 un gestionnaire plus ancien.<\/p><p>Si vous voyez <em>wordpress extension mysql manquante<\/em> sur un h\u00e9bergement mutualis\u00e9, v\u00e9rifiez les points suivants :<\/p><ul class=\"wp-block-list\"><li>Quelle version de PHP est attribu\u00e9e au domaine<\/li>\n\n<li>Si <code>mysqli<\/code> et <code>pdo_mysql<\/code> sont activ\u00e9s dans la liste des extensions PHP<\/li>\n\n<li>Si le gestionnaire MultiPHP applique le bon handler<\/li><\/ul><p>Dans cPanel, cela implique g\u00e9n\u00e9ralement :<\/p><ol class=\"wp-block-list\"><li>Ouvrir <em>S\u00e9lectionner la version PHP<\/em><\/li>\n\n<li>Confirmer que PHP 8.2 ou 8.3 est actif<\/li>\n\n<li>S\u2019assurer que <code>mysqli<\/code> et <code>mysqlnd<\/code> sont coch\u00e9s<\/li><\/ol><p>Apr\u00e8s avoir enregistr\u00e9 les modifications, actualisez le site. Si l\u2019environnement d\u2019ex\u00e9cution bascule correctement, l\u2019erreur dispara\u00eet imm\u00e9diatement.<\/p><p>Si ce n\u2019est pas le cas, le domaine peut toujours \u00eatre associ\u00e9 \u00e0 un autre pool PHP.<\/p><p>C\u2019est pr\u00e9cis\u00e9ment l\u00e0 qu\u2019une <em>maintenance <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-red-color\"><a href=\"https:\/\/codico.io\/fr\/maintenance-web\/\" title=\"\">WordPress continue<\/a><\/mark><\/em> \u00e9vite les d\u00e9rives de configuration silencieuses. De petites incompatibilit\u00e9s de version passent facilement inaper\u00e7ues jusqu\u2019\u00e0 ce qu\u2019elles perturbent l\u2019environnement de production.<\/p><h3 class=\"wp-block-heading\">Configurations VPS et serveurs d\u00e9di\u00e9s (Ubuntu \/ Debian)<\/h3><p>Dans les environnements VPS, le probl\u00e8me est g\u00e9n\u00e9ralement plus explicite.<\/p><p>Si PHP a \u00e9t\u00e9 install\u00e9 sans prise en charge de MySQL, vous pouvez v\u00e9rifier avec la commande suivante :<\/p><pre class=\"wp-block-preformatted\">php -m | grep -i mysql<\/pre><p>Si rien n\u2019appara\u00eet, installez le module requis :<\/p><pre class=\"wp-block-preformatted\">sudo apt update<br\/>sudo apt install php-mysql<\/pre><p>Ensuite, red\u00e9marrez le service appropri\u00e9 :<\/p><pre class=\"wp-block-preformatted\">sudo systemctl restart php8.3-fpm<\/pre><p>Ou, si vous utilisez Apache :<\/p><pre class=\"wp-block-preformatted\">sudo systemctl restart apache2<\/pre><p>Mais c\u2019est pr\u00e9cis\u00e9ment ici que beaucoup font une erreur.<\/p><p>Ils red\u00e9marrent la mauvaise version de PHP-FPM.<\/p><p>Si plusieurs versions sont install\u00e9es, assurez-vous de red\u00e9marrer exactement le service utilis\u00e9 par votre serveur web. Red\u00e9marrer <code>php8.2-fpm<\/code> alors que Nginx pointe vers <code>php8.3-fpm<\/code> ne change rien.<\/p><p>Ce d\u00e9calage \u00e0 lui seul peut provoquer des erreurs <em>php extension mysql manquante wordpress<\/em> m\u00eame lorsque l\u2019extension est bien install\u00e9e.<\/p><h3 class=\"wp-block-heading\">Incompatibilit\u00e9 Nginx + PHP-FPM<\/h3><p>Dans les configurations modernes, notamment apr\u00e8s une mise \u00e0 niveau de PHP, les fichiers de configuration peuvent encore faire r\u00e9f\u00e9rence \u00e0 d\u2019anciens sockets.<\/p><p>Par exemple :<\/p><pre class=\"wp-block-preformatted\">fastcgi_pass unix:\/run\/php\/php8.1-fpm.sock;<\/pre><p>Si le syst\u00e8me est pass\u00e9 \u00e0 PHP 8.3 mais que Nginx pointe toujours vers le socket 8.1, WordPress s\u2019ex\u00e9cute avec le mauvais environnement.<\/p><p>Dans ce cas :<\/p><ul class=\"wp-block-list\"><li>La CLI affiche <code>mysqli<\/code><\/li>\n\n<li>PHP 8.3 prend bien en charge MySQL<\/li>\n\n<li>Mais le serveur web continue d\u2019utiliser la version 8.1 sans cette extension<\/li><\/ul><p>L\u2019erreur appara\u00eet alors et donne l\u2019impression qu\u2019une extension est manquante.<\/p><p>En r\u00e9alit\u00e9, il s\u2019agit simplement d\u2019un probl\u00e8me de configuration.<\/p><h3 class=\"wp-block-heading\">Docker et d\u00e9ploiements conteneuris\u00e9s<\/h3><p>Les environnements conteneuris\u00e9s ajoutent encore une couche suppl\u00e9mentaire.<\/p><p>Si vous construisez \u00e0 partir de l\u2019image officielle PHP, les extensions MySQL ne sont pas toujours incluses par d\u00e9faut. Vous devez les ajouter explicitement lors de la phase de build :<\/p><pre class=\"wp-block-preformatted\">RUN docker-php-ext-install mysqli pdo pdo_mysql<\/pre><p>Si cette ligne est supprim\u00e9e, ignor\u00e9e ou \u00e9cras\u00e9e lors d\u2019une reconstruction, le d\u00e9ploiement suivant peut soudainement d\u00e9clencher l\u2019erreur <em>votre installation PHP semble manquer de l\u2019extension mysql<\/em>.<\/p><p>Cela se produit souvent apr\u00e8s :<\/p><ul class=\"wp-block-list\"><li>des mises \u00e0 niveau de l\u2019image de base<\/li>\n\n<li>le passage d\u2019images Debian \u00e0 Alpine<\/li>\n\n<li>des modifications dans le pipeline CI\/CD<\/li><\/ul><p>L\u2019extension n\u2019a jamais \u00e9t\u00e9 \u00ab supprim\u00e9e \u00bb manuellement. Le conteneur a simplement \u00e9t\u00e9 reconstruit sans celle-ci.<\/p><p>Dans des environnements complexes impliquant des couches API, des syst\u00e8mes SaaS ou <em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-red-color\"><a href=\"https:\/\/codico.io\/fr\/integration-ia\/\" title=\"\">l\u2019int\u00e9gration de l\u2019IA dans les plateformes web modernes<\/a><\/mark><\/em>, ces effets secondaires lors des reconstructions sont fr\u00e9quents. WordPress peut n\u2019\u00eatre qu\u2019un composant d\u2019une architecture plus large.<\/p><h3 class=\"wp-block-heading\">Installations Multi-PHP<\/h3><p>Ce point m\u00e9rite une attention particuli\u00e8re.<\/p><p>De nombreux serveurs ex\u00e9cutent :<\/p><ul class=\"wp-block-list\"><li><code>\/usr\/bin\/php<\/code><\/li>\n\n<li><code>\/usr\/local\/bin\/php<\/code><\/li>\n\n<li>plusieurs pools FPM<\/li>\n\n<li>des pools distincts par domaine<\/li><\/ul><p>Vous pouvez confirmer que <code>mysqli<\/code> est install\u00e9 globalement, mais le pool actif peut utiliser un autre fichier <code>php.ini<\/code>.<\/p><p>C\u2019est ici que l\u2019exp\u00e9rience en <em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-red-color\"><a href=\"https:\/\/codico.io\/fr\/developpement-web\/\" title=\"\">d\u00e9veloppement web professionnel WordPress<\/a><\/mark><\/em> devient essentielle. Identifier quel environnement PHP traite r\u00e9ellement la requ\u00eate n\u00e9cessite d\u2019examiner les fichiers de configuration des pools, et pas seulement de v\u00e9rifier les modules.<\/p><p>Lorsque des configurations multi-versions se d\u00e9synchronisent, WordPress ne se pr\u00e9occupe pas de la raison. Il signale simplement qu\u2019une extension est manquante.<\/p><p>Dans tous ces sc\u00e9narios, le sch\u00e9ma reste le m\u00eame. Le probl\u00e8me concerne rarement l\u2019installation de quelque chose de nouveau. Il s\u2019agit plut\u00f4t de s\u2019assurer que le bon environnement d\u2019ex\u00e9cution charge la bonne extension dans le bon contexte de configuration.<\/p><p>Plus l\u2019infrastructure est complexe, plus le d\u00e9salignement devient subtil.<\/p><p><em><mark>Lire aussi :<a href=\"https:\/\/codico.io\/fr\/modifier-fichier-functions-php-wordpress\/\"> <\/a><a href=\"https:\/\/codico.io\/fr\/redirection-301-wordpress-htaccess\/\" title=\"\">5 \u00e9tapes pour ajouter des redirections 301 dans WordPress via htaccess (guide pratique complet)<\/a><\/mark><\/em><\/p><h2 class=\"wp-block-heading\">Tableau de d\u00e9pannage : Sympt\u00f4me \u2192 Cause principale \u2192 Solution<\/h2><p>Voici une r\u00e9f\u00e9rence pratique pr\u00e9sentant les variations les plus courantes de l\u2019erreur <em>votre installation PHP semble manquer de l\u2019extension mysql<\/em>.<\/p><figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Sympt\u00f4me<\/th><th>Cause probable<\/th><th>\u00c9l\u00e9ment \u00e0 v\u00e9rifier<\/th><th>Solution pratique<\/th><\/tr><\/thead><tbody><tr><td><code>php -m<\/code> n\u2019affiche aucun module MySQL<\/td><td>Extension MySQL non install\u00e9e<\/td><td>Liste des modules CLI<\/td><td>Installer <code>php-mysql<\/code> ou activer <code>mysqli<\/code> \/ <code>pdo_mysql<\/code><\/td><\/tr><tr><td><code>php -m<\/code> affiche <code>mysqli<\/code>, mais pas le navigateur<\/td><td>Diff\u00e9rence entre PHP CLI et PHP Web<\/td><td><code>phpinfo()<\/code> vs version CLI<\/td><td>Aligner la version PHP-FPM avec le serveur web<\/td><\/tr><tr><td><code>mysqli<\/code> visible dans <code>phpinfo()<\/code> mais WordPress \u00e9choue<\/td><td>Mauvais <code>extension_dir<\/code><\/td><td><code>extension_dir<\/code> dans <code>php.ini<\/code><\/td><td>Corriger le chemin du r\u00e9pertoire et red\u00e9marrer FPM<\/td><\/tr><tr><td>L\u2019erreur appara\u00eet apr\u00e8s une mise \u00e0 jour PHP<\/td><td>Nginx ou Apache pointe vers un ancien socket<\/td><td>Configuration du serveur web<\/td><td>Mettre \u00e0 jour <code>fastcgi_pass<\/code> ou le gestionnaire PHP<\/td><\/tr><tr><td>L\u2019erreur appara\u00eet apr\u00e8s une migration<\/td><td>Version PHP chang\u00e9e silencieusement<\/td><td>Panneau d\u2019h\u00e9bergement \/ MultiPHP<\/td><td>R\u00e9assigner la bonne version PHP au domaine<\/td><\/tr><tr><td>Erreur dans Docker<\/td><td>Extension non install\u00e9e lors du build<\/td><td>Dockerfile<\/td><td>Ajouter <code>docker-php-ext-install mysqli pdo_mysql<\/code> et reconstruire<\/td><\/tr><tr><td>La connexion \u00e0 la base de donn\u00e9es \u00e9choue toujours<\/td><td>Incoh\u00e9rence du socket ou de l\u2019h\u00f4te<\/td><td><code>wp-config.php<\/code> DB_HOST<\/td><td>Ajuster l\u2019h\u00f4te vers le bon TCP ou le bon chemin de socket<\/td><\/tr><tr><td>L\u2019erreur appara\u00eet de mani\u00e8re al\u00e9atoire<\/td><td>Plusieurs pools PHP actifs<\/td><td>Configurations des pools FPM<\/td><td>V\u00e9rifier le pool actif et red\u00e9marrer le bon service<\/td><\/tr><\/tbody><\/table><\/figure><p>Ce tableau refl\u00e8te ce qui d\u00e9clenche le plus souvent l\u2019erreur <em>wordpress extension mysql manquante<\/em> dans les environnements PHP 8.x modernes.<\/p><p>Remarquez un point important.<\/p><p>Dans plus de la moiti\u00e9 de ces sc\u00e9narios, l\u2019extension est techniquement pr\u00e9sente. Le probl\u00e8me est contextuel \u2014 mauvais environnement d\u2019ex\u00e9cution, mauvais fichier de configuration ou mauvais service red\u00e9marr\u00e9.<\/p><p>C\u2019est pourquoi r\u00e9installer des paquets \u00e0 l\u2019aveugle ne r\u00e9sout g\u00e9n\u00e9ralement rien.<\/p><p>\u00c0 ce stade, si aucune des lignes ci-dessus ne correspond \u00e0 votre situation, il vaut mieux observer le comportement r\u00e9el du syst\u00e8me plut\u00f4t que de rester dans la th\u00e9orie.<\/p><p>Voyons \u00e0 quoi cela ressemble en pratique.<\/p><h2 class=\"wp-block-heading\">Cas r\u00e9el : apr\u00e8s une mise \u00e0 niveau vers PHP 8.3<\/h2><p>Une situation fr\u00e9quente ressemble \u00e0 ceci.<\/p><p>Un serveur fonctionne avec PHP 8.1 sans probl\u00e8me.<br\/>Tout fonctionne correctement.<br\/>L\u2019administrateur met ensuite \u00e0 niveau vers PHP 8.3.<\/p><p>Imm\u00e9diatement apr\u00e8s la mise \u00e0 niveau, WordPress affiche :<\/p><p><em>votre installation PHP semble manquer de l\u2019extension mysql<\/em><\/p><p>Le premier r\u00e9flexe est de penser que PHP 8.3 a supprim\u00e9 la prise en charge de MySQL.<\/p><p>Ce n\u2019est pas le cas.<\/p><p>Ce qui s\u2019est r\u00e9ellement produit dans de nombreux cas :<\/p><ul class=\"wp-block-list\"><li>PHP 8.3 a \u00e9t\u00e9 install\u00e9 correctement<\/li>\n\n<li><code>mysqli<\/code> \u00e9tait compil\u00e9 et disponible<\/li>\n\n<li>Nginx pointait toujours vers l\u2019ancien socket 8.1<\/li>\n\n<li>PHP-FPM 8.3 n\u2019a jamais \u00e9t\u00e9 red\u00e9marr\u00e9<\/li><\/ul><p>Du point de vue de WordPress, la couche base de donn\u00e9es a \u00e9chou\u00e9 lors de l\u2019initialisation. Le message d\u2019erreur g\u00e9n\u00e9rique s\u2019est alors affich\u00e9.<\/p><p>Chez <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-red-color\"><em><a href=\"https:\/\/codico.io\/fr\/\" title=\"\">CoDiCo<\/a><\/em><\/mark>, nous avons observ\u00e9 ce sch\u00e9ma \u00e0 de nombreuses reprises lors des transitions de version. La solution consistait rarement \u00e0 installer quelque chose de nouveau. Dans la plupart des cas, il s\u2019agissait simplement d\u2019aligner correctement les couches d\u2019ex\u00e9cution apr\u00e8s la mise \u00e0 niveau.<\/p><p>Une fois que le serveur web a point\u00e9 vers le bon pool FPM et que le service a \u00e9t\u00e9 red\u00e9marr\u00e9 correctement, l\u2019erreur a disparu instantan\u00e9ment.<\/p><h2 class=\"wp-block-heading\">Cas particuliers auxquels vous ne vous attendez peut-\u00eatre pas<\/h2><p>Il existe des situations o\u00f9 tout semble correct \u00e0 premi\u00e8re vue. <code>mysqli<\/code> est visible dans <code>phpinfo()<\/code>. La version de PHP correspond bien \u00e0 celle que le serveur est cens\u00e9 utiliser. Les identifiants de base de donn\u00e9es dans <code>wp-config.php<\/code> paraissent exacts. Et pourtant, WordPress affiche toujours <em>votre installation PHP semble manquer de l\u2019extension mysql<\/em>.<\/p><p>\u00c0 ce stade, le probl\u00e8me se situe g\u00e9n\u00e9ralement plus profond\u00e9ment dans l\u2019infrastructure.<\/p><p>L\u2019une des causes les plus souvent n\u00e9glig\u00e9es est une incoh\u00e9rence de socket. Sur de nombreux syst\u00e8mes Linux, MySQL ou MariaDB communique via un fichier socket Unix plut\u00f4t que via TCP. Si le chemin du socket change lors d\u2019une mise \u00e0 niveau, PHP peut toujours charger <code>mysqli<\/code>, mais \u00e9chouer \u00e0 \u00e9tablir la connexion. WordPress affiche alors un message g\u00e9n\u00e9rique <em>wordpress extension mysql manquante<\/em>, m\u00eame si l\u2019extension fonctionne parfaitement.<\/p><p>Un autre probl\u00e8me plus subtil appara\u00eet apr\u00e8s les mises \u00e0 niveau de MariaDB. Les m\u00e9thodes d\u2019authentification par d\u00e9faut ou certains param\u00e8tres de connexion peuvent changer discr\u00e8tement. Si PHP attend une configuration alors que le serveur de base de donn\u00e9es en exige d\u00e9sormais une autre, l\u2019\u00e9tablissement de la connexion \u00e9choue tr\u00e8s t\u00f4t. Du point de vue de l\u2019application, cela ressemble \u00e0 une absence de prise en charge de MySQL. En r\u00e9alit\u00e9, il s\u2019agit d\u2019un probl\u00e8me d\u2019authentification ou de transport.<\/p><p>SELinux peut \u00e9galement interf\u00e9rer. Sur les syst\u00e8mes renforc\u00e9s, m\u00eame lorsque <code>mysqli<\/code> est activ\u00e9 et correctement charg\u00e9, les politiques de s\u00e9curit\u00e9 peuvent emp\u00eacher PHP d\u2019acc\u00e9der au socket de la base de donn\u00e9es. L\u2019extension est pr\u00e9sente, mais l\u2019environnement d\u2019ex\u00e9cution ne peut pas l\u2019utiliser. Le message d\u2019erreur qui en r\u00e9sulte est trompeur, mais techniquement coh\u00e9rent avec un \u00e9chec d\u2019initialisation de la base de donn\u00e9es.<\/p><p>Les versions de PHP compil\u00e9es sur mesure introduisent une autre variable. Si PHP a \u00e9t\u00e9 compil\u00e9 sans <code>mysqlnd<\/code> ou li\u00e9 \u00e0 une biblioth\u00e8que client incompatible, le module peut appara\u00eetre comme install\u00e9 mais se comporter de mani\u00e8re impr\u00e9visible. Ces situations sont rares, mais lorsqu\u2019elles surviennent, les m\u00e9thodes de d\u00e9pannage classiques \u00e9chouent, car le probl\u00e8me est structurel.<\/p><p>L\u2019orchestration de conteneurs ajoute \u00e9galement sa propre complexit\u00e9. Dans les environnements distribu\u00e9s, l\u2019h\u00f4te de base de donn\u00e9es d\u00e9fini dans <code>wp-config.php<\/code> peut \u00eatre r\u00e9solu diff\u00e9remment \u00e0 l\u2019int\u00e9rieur du r\u00e9seau de conteneurs. Un nom de service mal configur\u00e9 ou une variable d\u2019environnement incorrecte peut interrompre la connectivit\u00e9, et WordPress peut \u00e0 nouveau afficher <em>php extension mysql manquante wordpress<\/em>, m\u00eame si l\u2019extension est correctement charg\u00e9e dans le conteneur.<\/p><p>Le sch\u00e9ma reste le m\u00eame dans tous ces cas particuliers. L\u2019erreur visible d\u00e9crit rarement la cause r\u00e9elle. Elle indique simplement que WordPress n\u2019a pas r\u00e9ussi \u00e0 initialiser sa couche de base de donn\u00e9es, et la couche d\u2019extension est seulement la premi\u00e8re hypoth\u00e8se.<\/p><p>Lorsque vous arrivez \u00e0 ce niveau de diagnostic, la solution ne consiste plus \u00e0 installer des paquets. Il s\u2019agit plut\u00f4t d\u2019analyser le flux d\u2019ex\u00e9cution, de v\u00e9rifier l\u2019alignement des configurations et de confirmer que chaque couche communique exactement comme pr\u00e9vu.<\/p><p>La bonne nouvelle est qu\u2019une fois le v\u00e9ritable point de rupture identifi\u00e9, la correction est g\u00e9n\u00e9ralement simple. La difficult\u00e9 ne r\u00e9side pas dans l\u2019application de la solution, mais dans l\u2019identification de la bonne couche \u00e0 diagnostiquer.<\/p><p>Ensuite, nous allons tout regrouper dans une liste de diagnostic finale afin que vous puissiez v\u00e9rifier chaque couche de mani\u00e8re m\u00e9thodique avant d\u2019aller plus loin.<\/p><p><em><mark>Lire aussi :<a href=\"https:\/\/codico.io\/fr\/modifier-fichier-functions-php-wordpress\/\" title=\"\"> Un guide simple et clair pour modifier le fichier functions.php dans WordPress<\/a><\/mark><\/em><\/p><h2 class=\"wp-block-heading\">Liste de diagnostic finale<\/h2><p>Si vous souhaitez r\u00e9soudre ce probl\u00e8me de mani\u00e8re claire et m\u00e9thodique sans tester des solutions au hasard, utilisez la liste ci-dessous. Elle est con\u00e7ue pr\u00e9cis\u00e9ment pour les situations o\u00f9 WordPress indique <em>votre installation PHP semble manquer de l\u2019extension mysql<\/em>, alors que la cause r\u00e9elle peut \u00eatre cach\u00e9e dans le contexte d\u2019ex\u00e9cution.<\/p><ul class=\"wp-block-list\"><li>V\u00e9rifiez la version de PHP dans le navigateur via <code>phpinfo()<\/code>, et pas uniquement via SSH. Si les versions CLI et web diff\u00e8rent, vous ne diagnostiquez pas le m\u00eame environnement d\u2019ex\u00e9cution.<\/li>\n\n<li>Dans <code>phpinfo()<\/code>, v\u00e9rifiez que <code>mysqli<\/code> ou <code>pdo_mysql<\/code> appara\u00eet dans la liste. Si aucun des deux n\u2019est pr\u00e9sent, l\u2019extension est r\u00e9ellement absente.<\/li>\n\n<li>V\u00e9rifiez le chemin du <em>Loaded Configuration File<\/em>. Assurez-vous que le fichier <code>php.ini<\/code> que vous modifiez est bien celui charg\u00e9 par l\u2019environnement web.<\/li>\n\n<li>Rep\u00e9rez <code>extension_dir<\/code> et confirmez qu\u2019il correspond \u00e0 la version active de PHP. Un mauvais r\u00e9pertoire peut emp\u00eacher silencieusement le chargement des modules.<\/li>\n\n<li>Si vous utilisez PHP-FPM, v\u00e9rifiez quel pool et quel socket sont utilis\u00e9s par votre serveur web. Apr\u00e8s une mise \u00e0 niveau, les configurations Nginx ou Apache continuent souvent de pointer vers d\u2019anciens sockets.<\/li>\n\n<li>Red\u00e9marrez le bon service. Red\u00e9marrer \u00ab un \u00bb service PHP-FPM ne suffit pas si plusieurs versions existent. Celui qui est r\u00e9ellement actif doit \u00eatre red\u00e9marr\u00e9.<\/li>\n\n<li>Si l\u2019extension est charg\u00e9e mais que l\u2019erreur persiste, v\u00e9rifiez la connectivit\u00e9 \u00e0 la base de donn\u00e9es : statut du service, type d\u2019h\u00f4te (socket ou TCP) et \u00e9ventuel changement du chemin du socket.<\/li>\n\n<li>V\u00e9rifiez \u00e0 nouveau <code>wp-config.php<\/code> pour <code>DB_HOST<\/code>. Dans les environnements conteneuris\u00e9s, l\u2019h\u00f4te correct est souvent un nom de service plut\u00f4t que <code>localhost<\/code>.<\/li>\n\n<li>Si votre syst\u00e8me utilise SELinux ou des politiques de s\u00e9curit\u00e9 renforc\u00e9es, assurez-vous que PHP est autoris\u00e9 \u00e0 acc\u00e9der au socket ou au port r\u00e9seau de la base de donn\u00e9es.<\/li>\n\n<li>Supprimez le fichier <code>info.php<\/code> une fois vos v\u00e9rifications termin\u00e9es. Le laisser accessible publiquement repr\u00e9sente un risque de s\u00e9curit\u00e9.<\/li><\/ul><p>Si vous pouvez valider tous les points ci-dessus et que le site ne fonctionne toujours pas, vous n\u2019\u00eates plus dans le cas d\u2019une \u00ab extension manquante \u00bb. \u00c0 ce stade, il s\u2019agit plut\u00f4t d\u2019un probl\u00e8me d\u2019infrastructure plus profond ou de coh\u00e9rence de build, et non d\u2019un probl\u00e8me li\u00e9 \u00e0 une mise \u00e0 jour de WordPress.<\/p><h2 class=\"wp-block-heading\">FAQ<\/h2><h3 class=\"wp-block-heading\">Pourquoi WordPress indique-t-il que l\u2019extension MySQL est manquante si MySQLi est install\u00e9 ?<\/h3><p>Parce que le message utilise une formulation h\u00e9rit\u00e9e. WordPress a besoin de <code>mysqli<\/code> ou <code>pdo_mysql<\/code>, mais si PHP ne les charge pas dans l\u2019environnement d\u2019ex\u00e9cution actif, ou si le contexte d\u2019ex\u00e9cution ne correspond pas, WordPress peut toujours afficher l\u2019erreur <em>wordpress extension mysql manquante<\/em>.<\/p><h3 class=\"wp-block-heading\">PHP 8.3 prend-il toujours en charge MySQL ?<\/h3><p>Oui. PHP 8.3 prend en charge MySQL via <code>mysqli<\/code> et <code>pdo_mysql<\/code>. Si vous voyez l\u2019erreur <em>php extension mysql manquante wordpress<\/em>, il s\u2019agit g\u00e9n\u00e9ralement d\u2019un probl\u00e8me de configuration ou d\u2019alignement de l\u2019environnement d\u2019ex\u00e9cution, et non d\u2019une absence de support dans PHP.<\/p><h3 class=\"wp-block-heading\">Comment activer MySQLi dans PHP ?<\/h3><p>Sur la plupart des syst\u00e8mes, vous pouvez l\u2019activer en installant le paquet appropri\u00e9 (souvent <code>php-mysql<\/code>) ou en activant le module dans votre panneau d\u2019h\u00e9bergement. Sous Windows, cela peut n\u00e9cessiter de d\u00e9commenter <code>extension=mysqli<\/code> dans <code>php.ini<\/code>. Le point important est de l\u2019activer pour l\u2019environnement PHP r\u00e9ellement utilis\u00e9 par votre serveur web.<\/p><h3 class=\"wp-block-heading\">Pourquoi <code>php -m<\/code> affiche-t-il mysqli, mais WordPress ne fonctionne toujours pas ?<\/h3><p>Parce que <code>php -m<\/code> v\u00e9rifie l\u2019environnement d\u2019ex\u00e9cution CLI. Votre serveur web peut utiliser une version diff\u00e9rente de PHP, un fichier <code>php.ini<\/code> diff\u00e9rent ou un autre pool PHP-FPM. C\u2019est l\u2019une des causes les plus fr\u00e9quentes dans les situations li\u00e9es \u00e0 <em>corriger l\u2019erreur d\u2019extension mysql wordpress<\/em>.<\/p><h3 class=\"wp-block-heading\">Cette erreur peut-elle \u00eatre caus\u00e9e par des identifiants de base de donn\u00e9es incorrects ?<\/h3><p>Oui. Si WordPress \u00e9choue d\u00e8s l\u2019initialisation de la base de donn\u00e9es, le message d\u2019erreur peut \u00eatre trompeur. Des identifiants incorrects, un service de base de donn\u00e9es arr\u00eat\u00e9 ou une incoh\u00e9rence de socket peuvent provoquer des sympt\u00f4mes similaires m\u00eame lorsque <code>mysqli<\/code> est charg\u00e9.<\/p><h3 class=\"wp-block-heading\">Ce probl\u00e8me est-il g\u00e9n\u00e9ralement r\u00e9solu en mettant WordPress \u00e0 jour ?<\/h3><p>Parfois, mais rarement dans les configurations modernes. Dans les environnements PHP 8.x, cette erreur est le plus souvent li\u00e9e \u00e0 la configuration du serveur plut\u00f4t qu\u2019\u00e0 des fichiers du c\u0153ur de WordPress obsol\u00e8tes.<\/p><h2 class=\"wp-block-heading\">Remarque finale<\/h2><p>Dans la plupart des cas r\u00e9els, <em>votre installation PHP semble manquer de l\u2019extension mysql<\/em> n\u2019est ni un probl\u00e8me WordPress ni un probl\u00e8me \u00e0 r\u00e9soudre en \u00ab r\u00e9installant PHP \u00bb. C\u2019est un signal indiquant qu\u2019une couche de la cha\u00eene d\u2019ex\u00e9cution PHP est d\u00e9synchronis\u00e9e. Une fois que vous identifiez quel environnement traite r\u00e9ellement la requ\u00eate et que vous confirmez que <code>mysqli<\/code> ou <code>pdo_mysql<\/code> y est charg\u00e9, la correction est g\u00e9n\u00e9ralement directe.<\/p><p>Chez <em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-red-color\"><a href=\"https:\/\/codico.io\/fr\/\" title=\"\">CoDiCo<\/a><\/mark><\/em>, les solutions les plus rapides consistent presque toujours \u00e0 v\u00e9rifier d\u2019abord l\u2019alignement de l\u2019environnement d\u2019ex\u00e9cution, et non \u00e0 installer davantage de paquets.<\/p><p><\/p>","protected":false},"excerpt":{"rendered":"<p>L\u2019erreur qui appara\u00eet soudainement Vous mettez \u00e0 jour PHP.Ou migrez votre site.Ou lancez un nouveau VPS et installez WordPress depuis z\u00e9ro. Tout semble fonctionner \u2014 jusqu\u2019\u00e0 ce que ce ne soit plus le cas. Soudain, au lieu de votre page d\u2019accueil, vous voyez ceci : Votre installation PHP semble ne pas inclure l\u2019extension MySQL requise [&hellip;]<\/p>\n","protected":false},"author":66,"featured_media":22027,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[195],"tags":[206,219,194],"class_list":["post-22053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-fr","tag-plugins-fr","tag-top-10-fr","tag-wordpress-fr"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/posts\/22053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/users\/66"}],"replies":[{"embeddable":true,"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/comments?post=22053"}],"version-history":[{"count":3,"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/posts\/22053\/revisions"}],"predecessor-version":[{"id":22058,"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/posts\/22053\/revisions\/22058"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/media\/22027"}],"wp:attachment":[{"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/media?parent=22053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/categories?post=22053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codico.io\/fr\/wp-json\/wp\/v2\/tags?post=22053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}