PHP 5.4.36 Released

Installation

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.

Installation sur Linux

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 activées, les bibliothèques clientes doivent souvent être installées au moyen d'un paquet additionnel. Voyez si c'est le cas pour votre distribution.

A moins que votre distribution Linux ne fournisse de paquet binaire pour PHP embarquant l'extension mysqli, vous allez devoir construire PHP depuis les sources. Cela permet de préciser les extensions MySQL à embarquer, mais aussi les bibliothèques clientes de chaque extension.

Le driver natif MySQL est l'option 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.

Matrice de support pour la compilation mysqli
Version PHP Défaut Options de configuration : mysqlnd Options de configuration : libmysqlclient Historique
5.0.x, 5.1.x, 5.2.x libmysqlclient Indisponible --with-mysqli=/path/to/mysql_config  
5.3.x libmysqlclient --with-mysqli=mysqlnd --with-mysqli=/path/to/mysql_config mysqlnd est maintenant supporté
5.4.x mysqlnd --with-mysqli --with-mysqli=/path/to/mysql_config mysqlnd est maintenant par défaut

Notez qu'il est possible de mixer 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.

L'exemple suivant compile l'extension MySQL pour utiliser la bibliothèque cliente MySQL, et les extensions mysqli et PDO MYSQL pour utiliser le driver natif MySQL :

./configure --with-mysql=/usr/bin/mysql_config  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
[autres options]

Installation sur les systèmes Windows

Sur Windows, PHP est généralement installé avec un installeur binaire.

PHP 5.0, 5.1, 5.2

Une fois PHP installé, certaines configurations demanderont l'activation de mysqli et la précision de la bibliothèque cliente à utiliser avec.

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.

PHP 5.3.0+

Sur Windows, pour PHP 5.3 ou 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.

add a note add a note

User Contributed Notes 6 notes

up
4
David dot Kit dot Friedman at gmail dot com
5 years ago
>On Windows, PHP is most commonly installed using the binary installer. Once PHP has been installed, some >configuration is required to enable mysqli and specify the client library you want it to use.

Basically, if you want to add extensions you can double-click again on the installer file. The installer will find the already installed PHP and will ask if you want to change the installation.

When you go through the prompts it will take you back to the list of extensions and you can pick which extensions you want to add.

For the mysqli extension the installer also edited php.ini so that the extension was enabled:

[PHP_MYSQLI]
extension=php_mysqli.dll

the installer added those lines to the end of the file.
up
3
arekm
4 years ago
"using the MySQL Native Driver results in improved performance and gives access to features not available when using the MySQL Client Library"

Of course there are also disadvantages:
- no SSL support (a nightmare!)
- no mysql < 4.1 support

So some people cannot use mysqlnd :(
up
1
Mark F
3 years ago
Just to note with regards to SSL and compression. MySQLnd and thus extensions using mysqlnd such as mysqli... now supports SSL and compression. Both have been supported inside mysqlnd since PHP 5.3.3 - http://www.php.net/manual/en/mysqlnd.overview.php
up
1
Anonymous
2 months ago
Thank you to whoever included the installation for cent OS :)
up
0
josh dot ribakoff at gmail dot com
5 years ago
I kept getting configure errors:

/tmp/cc4f2PKd.o: In function `main':
/usr/src/php-5.3.0/configure:14287: undefined reference to `yp_get_default_domain'
collect2: ld returned 1 exit status
configure: failed program was:
#line 14270 "configure"
#include "confdefs.h"

The solution was to configure with mysql native driver as outlined on this page.
up
-8
Anonymous
1 year ago
yum install php-mysqli
--centos Linux 2.6.18-308.el5
To Top