Installation
Die mysqli
-Erweiterung wurde in PHP 5.0.0 eingeführt; der
MySQL Native Driver mit PHP 5.3.0.
Installation on Linux
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.
Installation auf Windows-Systemen
Unter Windows wird PHP in der Regel durch den Binär-Installer installiert.
PHP 5.3.0 und neuer
Unter Windows gilt für die PHP-Versionen 5.3 und neuer, dass die
mysqli
-Erweiterung standardmäßig aktiviert ist und den
MySQL Native Driver verwendet. Das bedeutet, dass Sie sich nicht um die
Konfiguration des Zugriffs auf die libmysql.dll
kümmern müssen.
PHP 5.0, 5.1, 5.2
Unter diesen alten, nicht mehr unterstützten PHP-Versionen (die
Unterstützung von PHP 5.2 wurde am 6. Januar 2011 eingestellt), sind
zusätzliche Konfigurationsschritte notwendig, um mysqli
zu aktivieren und die Client-Bibliothek anzugeben, die verwendet werden
soll.
Die mysqli
-Erweiterung ist standardmäßig nicht
aktiviert, daher muss die php_mysqli.dll-DLL in der
php.ini aktiviert werden. Um dies zu tun, müssen Sie die php.ini-Datei
finden (typischerweise liegt diese unter c:\php) und
das Kommentarzeichen (ein Semikolon) vom Anfang der Zeile
extension=php_mysqli.dll
im Abschnitt
[PHP_MYSQLI]
entfernen.
Wenn Sie die MySQL-Client-Bibliothek mit mysqli
verwenden wollen, stellen Sie sicher, dass PHP auf die Bibliothek
zugreifen kann. Die MySQL-Client-Bibliothek ist in einer Datei namens
libmysql.dll der PHP-Windowsdistribution enthalten.
Um sie erfolgreich laden zu können, muss sie innerhalb des Pfades liegen,
der von der Windows-Umgebungsvariablen PATH bestimmt wird.
Lesen Sie dazu auch den FAQ-Eintrag "Wie füge ich mein PHP-Verzeichnis der
PATH-Variablen unter Windows hinzu?", um mehr Informationen darüber
zu erhalten. Das Kopieren von libmysql.dll in das
Windows-Systemverzeichnis (typischerweise
c:\Windows\system) funktioniert ebenfalls, da das
Systemverzeichnis standardmäßig im PATH enthalten ist.
Allerdings raten wir dringend von dieser Arbeitsweise ab.
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. Lesen Sie dazu
auch den Abschnitt Manuelle
PHP-Installation auf Windows. Ein entsprechender
extension_dir
-Wert für PHP 5 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 und/oder libmysql.dll vom System nicht gefunden wird.