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. Voyez si c'est le cas pour votre distribution.
Par exemple, sur Ubuntu le package php5-mysql
installe les
extensions PHP ext/mysql, ext/mysqli, et pdo_mysqls. Sur CentOS, le package
php-mysql
installe aussi ces trois extensions PHP.
Alternativement, vous pouvez compiler cette extension vous-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 client recommandé, 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. Reportez-vous à 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 |
---|---|---|---|---|
5.4.x et ultérieur | 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é |
Il est à noter qu'il est possible de mélanger les extensions MySQL ainsi que les
bibliothèques clientes. Par exemple, il est possible d'activer l'extension
MySQL pour utiliser la bibliothèque cliente MySQL (libmysqlclient) tout en configurant
l'extension mysqli
pour utiliser le driver natif MySQL.
Toutes les combinaisons d'extensions et bibliothèques clientes sont possibles.
Sur Windows, PHP est généralement installé avec un installeur binaire.
Sur Windows, pour les versions PHP 5.3 et supérieur, l'extension
mysqli
est activée par défaut et utilise
MySQL Native Driver par défaut. Ceci signifie
que vous n'avez pas à vous inquiéter au sujet de
libmysql.dll.
Sur ces anciennes versions non supporté de PHP (PHP 5.2 a atteint sa fin de vie
le '6 janvier 2011'), des procédures de configuration supplémentaires sont
nécessaire pour activer mysqli
et spécifier la bibliothèque
client que vous voulez utiliser.
L'extension mysqli
n'est pas activée par défaut, donc la DLL
php_mysqli.dll doit être activée dans php.ini. Pour cela,
trouvez le fichier php.ini (souvent c:\php) et enlevez
le caractère de commentaire (;) devant la ligne
extension=php_mysqli.dll
dans la section
[PHP_MYSQLI]
.
Aussi, si vous voulez utiliser MySQL Client Library avec
mysqli
, vous devez vérifier que PHP a accès à ce fichier.
La MySQL Client Library est incluse dans le fichier
libmysql.dll de la distribution Windows de PHP.
Ce fichier doit se trouver dans le PATH de Windows pour pouvoir
être chargé sans problème. Voyez la FAQ intitulée
"Comment puis-je ajouter mon dossier PHP
au PATH de Windows" pour plus d'informations. Copier le fichier
libmysql.dll dans le dossier système de Windows fonctionne aussi
(souvent c:\Windows\system) car ce dossier est par défaut présent
dans le PATH de Windows. Cependant, cette pratique est hautement
découragée.
Pour activer une extension PHP (telle que
php_mysqli.dll), la directive PHP
extension_dir doit pointer vers
le dossier contenant les extensions PHP. Voyez aussi
Installation manuelle sous Windows
. Par exemple, extension_dir
pourrait valoir
c:\php\ext.
Note:
Si lorsque vous démarrez le serveur web, une erreur telle que
"Unable to load dynamic library './php_mysqli.dll'"
se produit, c'est que php_mysqli.dll et/ou libmysql.dll ne peut être trouvée sur le système.