Auswahl einer Bibliothek

Die PHP-Erweiterungen mysqli und PDO_MySQL sind schlanke Wrapper, die auf einer C-Clientbibliothek aufbauen. Es kann eine der beiden Bibliotheken mysqlnd und libmysqlclient verwendet werden. Die Bibliothek muss beim Kompilieren ausgewählt werden.

Die Bibliothek mysqlnd ist Teil der PHP-Distribution. Sie bietet Funktionen wie Lazy Connections und Abfrage-Caching, Funktionen, die mit libmysqlclient nicht verfügbar sind, weshalb dringend empfohlen wird, die eingebaute Bibliothek mysqlnd zu verwenden. Die mysqlnd-Dokumentation enthält zusätzliche Details und eine Auflistung der Funktionen, die sie bietet.

Beispiel #1 Konfigurationsoptionen für die Verwendung von mysqlnd oder libmysqlclient

// Empfohlen, kompiliert mit mysqlnd $ ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd$ ./configure --with-mysqli --with-pdo-mysql$ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysql_config

Vergleich der Merkmale der Bibliotheken

Es wird empfohlen, die Bibliothek mysqlnd anstelle der Client-Server-Bibliothek von MySQL (libmysqlclient) zu verwenden. Beide Bibliotheken werden unterstützt und ständig verbessert.

 MySQL native driver (mysqlnd)Client-Server-Bibliothek von MySQL (libmysqlclient)
Teil der PHP-DistributionJaNein
PHP-Version der Einführung5.3.0N/A
LizenzPHP-Lizenz 3.01Duale Lizenz
EntwicklungsstatusAktivAktiv
LebenszyklusKein Ende angekündigtKein Ende angekündigt
Voreinstellung beim Kompilieren (bei allen MySQL-Erweiterungen)JaNein
Unterstützung des KomprimierungsprotokollsJaJa
SSL-UnterstützungJaJa
Unterstützung von benannten PipesJaJa
Nicht-blockierende, asynchrone AbfragenJaNein
Statistiken zur LeistungJaNein
LOAD LOCAL INFILE berücksichtigt die Direktive open_basedirJaNein
Verwendet das PHP-eigene Speicherverwaltungssystem (hält sich z. B. an die PHP-Speichergrenzen)JaNein
Rückgabe numerischer Spalten als Doubles (COM_QUERY)JaNein
Rückgabe numerischer Spalten als Zeichenketten (COM_QUERY)JaJa
Plugin-APIJaEingeschränkt
Automatische Wiederherstellung der VerbindungNeinOptional
To Top