L'extension mysqli a été introduite dans PHP 5.0.0.
Le pilote natif MySQL (MySQL Native Driver) a été introduit dans PHP 5.3.0.
Les distributions Linux incluent des versions binaires de PHP qui peuvent être installées. Même si ces binaires sont construits avec les extensions MySQL, les bibliothèques clientes doivent souvent être installées au moyen d'un paquet additionnel. Voir si c'est le cas pour la distribution.
Par exemple, sur Ubuntu le package php5-mysql installe les
extensions PHP ext/mysql, ext/mysqli, et pdo_mysql. Sur CentOS, le package
php-mysql installe aussi ces trois extensions PHP.
Alternativement, il est possible de compiler cette extension soi-même. Construire PHP depuis les sources permet de préciser les extensions MySQL à embarquer, mais aussi les bibliothèques clientes de chaque extension.
Le driver natif MySQL est la bibliothèque cliente recommandée, et depuis PHP 8.2.0 la seule possible, vu qu'il apporte un gain de performance et donne l'accès à des fonctionnalités qui ne sont pas disponibles lors de l'utilisation de la bibliothèque cliente MySQL. Se reporter à la section Qu'est-ce que le driver natif MySQL de PHP ? pour une brève description des avantages du driver natif MySQL.
/path/to/mysql_config représente le chemin du programme
mysql_config fourni avec MySQL serveur.
| Version PHP | Défaut | Options de configuration : mysqlnd | Options de configuration : libmysqlclient |
Historique |
|---|---|---|---|---|
| 8.2.0 et ultérieur | mysqlnd | --with-mysqli | libmysqlclient n'est pas supporté | mysqlnd est la seule option |
| 5.4.0 à 8.1.x | mysqlnd | --with-mysqli | --with-mysqli=/path/to/mysql_config | mysqlnd par défaut |
| 5.3.x | libmysqlclient | --with-mysqli=mysqlnd | --with-mysqli=/path/to/mysql_config | mysqlnd est supporté |
| 5.0.x, 5.1.x, 5.2.x | libmysqlclient | Indisponible | --with-mysqli=/path/to/mysql_config | mysqlnd n'est pas supporté |
Sur Windows, la DLL php_mysqli.dll doit être activée dans le fichier php.ini.
Pour activer une extension PHP (telle que
php_mysqli.dll), la directive PHP
extension_dir doit pointer vers
le dossier contenant les extensions PHP. Voir aussi
Installation manuelle sous Windows
. Par exemple, extension_dir pourrait valoir
c:\php\ext.
Note:
Si lorsqu'on démarre le serveur web, une erreur telle que
"Unable to load dynamic library './php_mysqli.dll'"se produit, c'est que php_mysqli.dll ne peut être trouvée sur le système.