Depuis PHP 5.0, le support de MySQL n'est plus activé par défaut dans la distribution standard. Cela signifie que PHP doit être explicitement configuré pour pouvoir profiter des extensions MysQL.
Les distributions Unix courantes incluent une version binaire de PHP qui peut être installée. Même si ces fonctions binaires sont typiquement compilées avec le support MysQL, les bibliothèques de l'extension ont parfois besoin d'être installée en utilisant un paquet supplémentaire. Vérifiez du coté du gestionnaire de paquet qui vient avec votre distribution pour pouvoir l'installer facilement.
A moins que votre distribution Unix ne soit livrée avec un paquet binaire de PHP et l'extension mysqli, vous aurez besoin de compiler PHP depuis le code source. Compiler PHP depuis les sources vous permet de spécifier les extensions MySQL dont vous avez besoin, ainsi que toute les autres bibliothèques.
Pour vous assurer que l'extension mysqli est active, vous devez configurer le code source avec mysqli. Cela se fait avec la commande configure et l'option --with-mysqli=mysql_config_path/mysql_config, avant la compilation proprement dite. Cela va activer mysqli et et utiliser la bibliothèque MySQL Client Library (libmysql) pour communiquer avec le serveur MySQL.
Note: mysql_config_path représente la localisation du programme mysql_config qui est livré avec MySQL Server.
Avec les versions PHP 5.3 et plus récentes, vous pouvez utiliser aussi le MySQL Native Driver avec mysqli. Vous aurez accès à de nombreux avantages par rapport à libmysql.
Pour utiliser le MySQL Native Driver avec mysqli vous devez configurer le code source PHP avec l'option --with-mysqli=mysqlnd, avant la compilation.
C'est l'option recommandée, car en utilisant le pilote MySQL natif, vous aurez de meilleures performances et accès à des fonctionnalités qui ne sont pas disponibles avec la bibliothèque MySQL Client Library. Reportez-vous à la page Qu'est-ce que le pilote MySQL natif de MySQL? pour une description de ses avantages.
Notez qu'il est possible de mélanger librement les extensions MySQL et les bibliothèques cliente. Par exemple, il est possible d'activer l'extension mysql avec MySQL Client Library (libmysql), tout en configurant l'extension mysqli avec le MySQL Native Driver. Toutes les combinaisons de client et bibliothèques ne sont pas possibles.
L'exemple suivant compile l'extension PHP avec la bibliothèque MySQL Client Library, et mysqli et PDO MYSQL avec le MySQL Native Driver :
Sur Windows, PHP est généralement installé avec un installeur binaire. Une fois PHP installé, un peu de configuration est nécessaire pour activer mysqli et spécifier la bibliothèque client que vous voulez utiliser.
Comme mentionné auparavant, l'extension mysqli n'est pas activée par défaut, ce qui fait que la bibliothèque DLL php_mysqli.dll doit être activée dans le php.ini. Afin de faire cela, vous devez localiser le fichier php.ini (généralement, dans le dossier c:\php), et vous assurer de bien retirer la marque de commentaire (un point-virgule), qui est au début de la ligne extension=php_mysqli.dll, dans la section [PHP_MYSQLI].
Enfin, si vous voulez utiliser la bibliothèque MySQL Client Library avec mysqli, vous devez vous assurer que PHP peut y accéder. La MySQL Client Library est incluse sous le nom libmysql.dll dans la distribution PHP pour Windows. Ce fichier doit être disponible dans la variable système PATH de Windows, pour qu'elle puisse être identifiée. Voyez la FAQ intitulée Comment ajouter mon dossier PHP dans le PATH de Windows" pour des détails sur cette opération. Copier le fichier libmysql.dll dans le dossier système Windows (généralement c:\Windows\system) est aussi possible, car c'est le dossier système par défaut dans PATH. Cependant, cette pratique est fortement découragée.
Sous Windows, pour les versions 5.3 et suivantes de PHP, l'extension mysqli utilise le driver natif MySQL par défaut. Cela signifie que vous n'avez pas à vous préoccuper de l'accès au fichier libmysql.dll, mais vous devez simplement vous assurer que l'extension est active dans le fichier php.ini.
Comme pour l'activation de n'importe quelle extension PHP (comme php_mysqli.dll), la directive PHP extension_dir doit représenter le dossier où sont stockées les extensions PHP. Reportez-vous à la page Instructions manuelles d'installation sous Windows. Un exemple de valeur pour la directive extension_dir en PHP 5 est c:\php\ext
Note: Lors du démarrage de votre serveur web, si une erreur du type "Unable to load dynamic library './php_mysqli.dll'" survient, cela indique que le fichier php_mysqli.dll et/ou libmysql.dll n'a pu être trouvé par le système.