Après une mise à jour de MySQL, MariaDB, PHP ou des extensions PHP, certaines applications anciennes peuvent afficher un avertissement de ce type :
PHP Warning: mysql_connect(): Headers and client library minor version mismatch.
Headers:50535 Library:50617Langage du code : CSS (css)
Ce message indique que l’extension PHP utilisée pour se connecter à MySQL a été compilée avec une version de headers différente de la bibliothèque cliente réellement chargée au moment de l’exécution.
En 2026, le point important est surtout celui-ci : si votre application utilise encore mysql_connect(), le problème n’est pas seulement une bibliothèque MySQL incohérente. Le vrai problème, c’est que le code utilise une API PHP supprimée depuis longtemps.
La correction moderne consiste donc à passer à mysqli ou PDO_MySQL, puis à vérifier que PHP utilise bien MySQL Native Driver, aussi appelé mysqlnd.
Pourquoi cette erreur apparaît ?
Historiquement, les extensions PHP de connexion à MySQL pouvaient utiliser la bibliothèque cliente MySQL, souvent appelée libmysqlclient. Si PHP était compilé contre une version, mais chargeait une autre version au runtime, l’avertissement Headers and client library minor version mismatch pouvait apparaître.
Ce problème concernait surtout les anciens environnements PHP 5.x, les mélanges de dépôts, les upgrades MySQL/MariaDB partiels, les paquets tiers, ou les serveurs qui avaient plusieurs versions de bibliothèques MySQL installées.
En 2026, sur une pile PHP moderne, la bonne réponse n’est pas de bricoler libmysqlclient. PHP fournit depuis longtemps MySQL Native Driver, mysqlnd, qui remplace l’ancienne bibliothèque cliente MySQL pour les extensions PHP MySQL. Le manuel PHP précise que mysqlnd est un remplacement de MySQL Client Library et qu’il fait partie des sources officielles de PHP depuis PHP 5.3.0.