Maison > Article > développement back-end > Comment résoudre l'avertissement « Incompatibilité de version mineure des en-têtes et de la bibliothèque client » en PHP ?
Incompatibilité de version mineure des en-têtes et de la bibliothèque client : résolue avec mysqlnd
Ce problème fréquemment rencontré, indiqué par l'avertissement "En-têtes et bibliothèque client mineur incompatibilité de version" se produit lorsqu'il y a une divergence entre la bibliothèque client PHP et les en-têtes du serveur de base de données.
Pour résoudre ce problème, il est recommandé d'utiliser le pilote mysqlnd, spécialement conçu pour la compatibilité MySQL/MariaDB. L'installation de ce pilote en PHP à l'aide de la commande sudo apt-get install php5-mysqlnd peut corriger l'incompatibilité.
Pour PHP, si vous avez installé à la fois des extensions mysqlnd et des extensions mysqli plus anciennes, assurez-vous que l'extension mysqlnd est activée et que mysqli est désactivé. Les configurations PHP INI suivantes peuvent vous aider :
; Extension for handling MySQL extension=mysqlnd disable_functions=mysql_connect,mysql_pconnect,mysql_close,mysql_select_db,mysql_query,mysql_fetch_lengths,mysql_stmt_init,mysql_stmt_prepare, mysql_stmt_execute,mysql_stmt_result_metadata,mysql_stmt_fetch,mysql_stmt_store_result,mysql_stmt_free_result,mysql_stmt_num_rows
Si vous utilisez une connexion PDO, la modification des attributs de connexion PDO comme suit peut résoudre davantage les problèmes restants :
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
Par en utilisant ces approches, vous pouvez éliminer l'avertissement « Incompatibilité de version mineure des en-têtes et de la bibliothèque client » et assurer une communication optimale entre votre code PHP et les bases de données MySQL/MariaDB.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!