Die mysqli
-Erweiterung wurde in PHP 5.0.0 eingeführt; der
MySQL Native Driver mit PHP 5.3.0.
Die gängigen Unix-Distributionen enthalten Binärversionen von PHP, die installiert werden können. Obwohl diese Binärversionen typischerweise mit Unterstützung für die MySQL-Erweiterungen erstellt wurden, müssen möglicherweise die Erweiterungs-Bibliotheken selbst unter Verwendung eines zusätzlichen Pakets installiert werden. Die Paketverwaltung der gewählten Distribution ist auf dessen Verfügbarkeit zu prüfen.
Beispielsweise installiert unter Ubuntu das Paket
php5-mysql
die PHP-Erweiterungen ext/mysql, ext/mysqli
und pdo_mysql. Unter CentOS installiert das Paket
php-mysql
diese drei Erweiterungen ebenfalls.
Alternativ kann diese Erweiterung auch selbst kompiliert werden. Das Kompilieren von PHP aus den Quellen erlaubt die Auswahl der MySQL-Erweiterungen, die verwendet werden sollen, sowie die Wahl der Client-Bibliothek für jede Erweiterung.
Der MySQL Native Driver wird empfohlen, da er zu einer verbesserten Performance führt und Zugriff auf Funktionen gewährt, die bei der Verwendung der MySQL-Client-Bibliothek nicht zur Verfügung stehen. Lesen Sie Was versteht man unter dem MySQL Native Driver von PHP?, um einen kurzen Überblick über die Vorteile des MySQL Native Drivers zu erhalten.
/path/to/mysql_config
stellt den Pfad des
mysql_config
-Programms dar, das mit MySQL-Server
ausgeliefert wird.
PHP-Version | Standard | Konfigurationsoptionen: mysqlnd | Konfigurationsoptionen: libmysqlclient |
Changelog |
---|---|---|---|---|
5.4.x und höher | mysqlnd | --with-mysqli | --with-mysqli=/path/to/mysql_config | mysqlnd ist nun standardmäßig aktiviert |
5.3.x | libmysqlclient | --with-mysqli=mysqlnd | --with-mysqli=/path/to/mysql_config | mysqlnd wird unterstützt |
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Nicht verfügbar | --with-mysqli=/path/to/mysql_config | mysqlnd wird nicht unterstützt |
Es ist möglich, MySQL-Erweiterungen und Client-Bibliotheken frei zu
mischen. Zum Beispiel ist es denkbar, dass die MySQL-Erweiterung die
MySQL-Client-Bibliothek (libmysqlclient) verwendet, während die
mysqli
-Erweiterung so konfiguriert ist, dass sie den
MySQL Native Driver verwendet. Alle Kombinationen von Erweiterungen und
Client-Bibliotheken sind möglich.
Unter Windows muss die DLL php_mysqli.dll in der php.ini aktiviert werden.
Wie bei der Aktivierung jeder anderen PHP-Erweiterung (wie z. B.
php_mysqli.dll) sollte auch hier die PHP-Anweisung
extension_dir auf das Verzeichnis
zeigen, in dem die vorhandenen PHP-Erweiterungen liegen. Siehe dazu auch
den Abschnitt
Manuelle PHP-Installation auf Windows.
Ein entsprechender extension_dir
-Wert ist zum Beispiel
c:\php\ext.
Hinweis:
Wenn beim Starten des Webservers ein Fehler ähnlich dem folgenden auftritt:
"Unable to load dynamic library './php_mysqli.dll'"
, liegt das daran, dass php_mysqli.dll vom System nicht gefunden wird.