W3docs

get_client_info

Erfahren Sie mehr über die Funktion mysqli_get_client_info() in PHP, die die Version der MySQL-Client-Bibliothek zurückgibt – mit Syntax und Beispielen.

Die Funktion mysqli_get_client_info() gibt die Version der MySQL-Client-Bibliothek zurück, gegen die die MySQLi-Erweiterung kompiliert wurde. Client-Bibliothek bezeichnet hier die C-Bibliothek (libmysqlclient oder mysqlnd), die PHP zur Kommunikation mit MySQL verwendet – nicht Ihren Browser, Ihre Anwendung oder den Datenbankserver. Diese Seite erläutert die Syntax, was der Rückgabewert tatsächlich aussagt und wie sich die Funktion von den verwandten „Server"- und „Client-Version"-Funktionen unterscheidet.

Was ist die Client-Bibliothek?

Wenn PHP mit MySQL kommuniziert, geschieht dies über eine Low-Level-Client-Bibliothek, die in die MySQLi-Erweiterung einkompiliert ist. Bei modernen PHP-Installationen ist dies fast immer mysqlnd (der MySQL Native Driver), der mit PHP selbst ausgeliefert wird; ältere oder benutzerdefinierte Builds können Oracles libmysqlclient verwenden. mysqli_get_client_info() gibt den Versionsstring der jeweils verwendeten Bibliothek zurück, zum Beispiel mysqlnd 8.1.0 oder 8.0.30.

Dies ist nützlich für:

  • Debugging von Verbindungsproblemen, die vom verwendeten Treiber abhängen.
  • Protokollierung von Umgebungsdetails, damit ein Fehlerbericht den genauen Client-Build enthält.
  • Überprüfung der Kompatibilität, wenn eine Funktion eine Mindestversion der Client-Bibliothek erfordert.

Syntax

mysqli_get_client_info(?mysqli $mysql = null): string
ParameterBeschreibung
$mysqlOptional. Ein Verbindungslink, der von mysqli_connect() / new mysqli() zurückgegeben wird. Dieser Parameter wird in modernem PHP ignoriert – der Wert stammt aus der einkompilierten Bibliothek, nicht aus der Verbindung – wird jedoch aus Gründen der Abwärtskompatibilität akzeptiert.

Rückgabewert: ein string, der die Version der MySQL-Client-Bibliothek beschreibt. Zum Aufruf ist keine Verbindung erforderlich.

Prozedurales Beispiel

Da die Funktion einen Wert zur Kompilierzeit liest, benötigen Sie nicht einmal eine aktive Datenbankverbindung:

<?php
// No connection needed — this reflects the library PHP was built with
$client_info = mysqli_get_client_info();

printf("MySQL client library version: %s\n", $client_info);
?>

Eine typische Ausgabe sieht folgendermaßen aus (der genaue string hängt von Ihrem PHP-Build ab):

MySQL client library version: mysqlnd 8.1.0

Objektorientiertes Beispiel

MySQLi stellt diesen Wert auch über die Eigenschaft client_info und die Methode mysqli::get_client_info() bereit:

<?php
$mysqli = new mysqli("localhost", "username", "password", "database");

if ($mysqli->connect_errno) {
    die("Connection failed: " . $mysqli->connect_error);
}

// Both lines print the same value
echo $mysqli->client_info . "\n";
echo $mysqli->get_client_info() . "\n";

$mysqli->close();
?>

Client-Bibliothek vs. Client-Version vs. Server-Info

Diese vier Funktionen werden leicht verwechselt:

Wenn Sie nur eine numerische Prüfung „Ist diese Version neu genug?" durchführen möchten, bevorzugen Sie mysqli_get_client_version(). Verwenden Sie mysqli_get_client_info(), wenn Sie ein menschenlesbares Label für Protokolle benötigen.

Fazit

mysqli_get_client_info() gibt einen menschenlesbaren string für die MySQL-Client-Bibliothek zurück, die in die MySQLi-Erweiterung einkompiliert ist. Sie erfordert keine Verbindung und ist am nützlichsten für Protokollierung und Diagnose. Weitere Informationen zum Öffnen von Verbindungen finden Sie unter mysqli_connect() und in der MySQLi-Übersicht.

Übungen

Übung
Was gibt mysqli_get_client_info() zurück?
Was gibt mysqli_get_client_info() zurück?
Was this page helpful?