Mysqli :: $ client_version ist eine statische Eigenschaft in der MySQLI -Klasse. Es gibt eine Ganzzahl zurück, die die Version der von PHP verwendeten MySQL -Client -Bibliothek darstellt. Wenn beispielsweise die Client -Version MySQLND 8.0.30 ist, kann der von MySQLI :: $ Client_version zurückgegebene Wert 80030 sein.
Diese Eigenschaft erfordert keine Instanziierung von MySQLI -Objekten, um direkt zugegriffen zu werden, und ist ideal für die Erkennung oder Debuggierung von Umgebungen.
Hier ist ein einfaches Beispiel für die Nutzung:
<?php
echo 'MySQL Client -Version: ' . mysqli::$client_version;
?>
Nach dem Ausführen des oben genannten Codes gibt der Browser so etwas wie:
MySQL Client -Version: 80030
Beachten Sie, dass dieser Rückgabewert eine Ganzzahl ist, keine Versionsnummer in Form einer Zeichenfolge. Sie müssen es analysieren, um ein intuitiveres Versionsformat zu erhalten.
Sie können die Versionsnummer des Integer -Formats über mathematische Operationen wie 8.0.30 in Zeichenfolgenformat konvertieren. Hier ist ein Beispiel für eine Helferfunktion:
<?php
function formatClientVersion($versionInt) {
$major = (int)($versionInt / 10000);
$minor = (int)(($versionInt % 10000) / 100);
$patch = $versionInt % 100;
return "$major.$minor.$patch";
}
$versionInt = mysqli::$client_version;
echo 'MySQL Client -Version(Format): ' . formatClientVersion($versionInt);
?>
Die Ausgabe ist ähnlich:
MySQL Client -Version(Format): 8.0.30
Dieses Format ist einfacher zu lesen und kann direkt für das Versionsurteil verwendet oder in Konfigurationsdateien aufgezeichnet werden.
Wenn Ihre Anwendung von MySQL -Funktionen abhängt, die erst nach bestimmten Versionen verfügbar sind, können Sie diese Eigenschaft verwenden, um eine einfache Versionserkennung durchzuführen. Zum Beispiel:
<?php
if (mysqli::$client_version < 80000) {
die('aktuell MySQL Client -Version过低,Bitte upgrade auf 8.0.0 oder später。');
}
?>
Dies wird die inkompatible Umgebung zu Beginn des Betriebs umgehend beenden und vermeiden schwierigere Probleme, später zu überprüfen.
Diese Eigenschaft gibt die Version der MySQL -Client -Bibliothek zurück, nicht die Database -Server -Version.
Um die Version des Servers zu erhalten, müssen Sie über das Verbindungsobjekt auf $ mySQLi-> server_info zugreifen.
Verschiedene Systeme oder PHP -Kompilierungsmethoden können unterschiedliche Clientbibliotheken verwenden.
Beispielsweise wirkt sich die Verwendung von MySQLND (MySQL Native Treiber) oder libmysqlclient auf das Kundenverhalten und die Versionsinformationen aus.
Wenn Sie einen Verbindungspool oder eine Umgebung mit mehreren Konnektionen verwenden, achten Sie darauf, die Versionsquelle nicht zu verwechseln.
Sie können die aktuell geladenen Client -Bibliotheks -Versionsinformationen über PHP -Funktion von PHP anzeigen. Normalerweise wird die Versionsnummer im Abschnitt MySQLND oder MySQLI -Modul angezeigt, der dem von MySQLI :: $ Client_version zurückgegebenen Wert entspricht.
Sie können auch direkt eine Erkennungsseite bereitstellen, z. B.:
<?php
header('Content-Type: application/json');
echo json_encode([
'client_version_int' => mysqli::$client_version,
'client_version_formatted' => formatClientVersion(mysqli::$client_version),
'check_url' => 'https://gitbox.net/check-mysql-client-version'
]);
?>
Diese Seite kann in Ihr Systemüberwachungstool integriert werden, um eine schnelle Prüfung der Kompatibilität von PHP-MYSQL-Umgebungen zu überprüfen.