Position actuelle: Accueil> Derniers articles> Comment utiliser mysqli :: $ client_version pour obtenir des informations de version client mysql

Comment utiliser mysqli :: $ client_version pour obtenir des informations de version client mysql

gitbox 2025-06-07

Qu'est-ce que MySQLI :: $ client_version?

mysqli :: $ client_version est une propriété statique dans la classe MySQLI . Il renvoie un entier représentant la version de la bibliothèque client MySQL utilisée par PHP. Par exemple, si la version client est mysqlnd 8.0.30 , la valeur renvoyée par mysqli :: $ client_version peut être de 80030 .

Cette propriété ne nécessite pas d'instanciation des objets MySQLI pour accéder directement et est idéal pour la détection ou le débogage de l'environnement.

Exemples d'utilisation de base

Voici un exemple simple d'utilisation:

 <?php
echo 'MySQL Version client: ' . mysqli::$client_version;
?>

Après avoir exécuté le code ci-dessus, le navigateur sortira quelque chose comme:

 MySQL Version client: 80030

Notez que cette valeur de retour est un entier, pas un numéro de version sous la forme d'une chaîne. Vous devez l'analyser pour obtenir un format de version plus intuitif.

Comment formater le numéro de version de sortie?

Vous pouvez convertir le numéro de version du format entier en format de chaîne via des opérations mathématiques, telles que 8.0.30 . Voici un exemple de fonction d'assistance:

 <?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 Version client(format): ' . formatClientVersion($versionInt);
?>

La sortie sera similaire:

 MySQL Version client(format): 8.0.30

Ce format est plus facile à lire et peut être utilisé directement pour le jugement de version ou enregistré dans des fichiers de configuration.

Utiliser le scénario: détection de compatibilité des versions

Si votre application dépend des fonctionnalités MySQL qui ne sont disponibles qu'après certaines versions, vous pouvez utiliser cette propriété pour effectuer une détection de version simple. Par exemple:

 <?php
if (mysqli::$client_version < 80000) {
    die('actuel MySQL Version client过低,Veuillez mettre à niveau vers 8.0.0 ou plus tard。');
}
?>

Cela mettra rapidement fin à l'environnement incompatible au début de l'opération, évitant les problèmes plus difficiles à vérifier plus tard.

Questions fréquemment posées

  1. Cette propriété renvoie la version de la bibliothèque client MySQL, pas la version du serveur de base de données.
    Pour obtenir la version du serveur, vous devez accéder à $ mysqli-> server_info via l'objet de connexion.

  2. Différents systèmes ou méthodes de compilation PHP peuvent utiliser différentes bibliothèques de clients.
    Par exemple, l'utilisation de MySqlnd (MySQL Native Driver) ou LibMysQlClient affectera le comportement du client et les informations de version.

  3. Si vous utilisez un pool de connexions ou un environnement multi-connexion, veillez à ne pas confondre la source de version.

Comment le vérifier dans des applications pratiques?

Vous pouvez afficher les informations de version de la bibliothèque client actuellement chargées via la fonction php phpinfo () . Il affiche généralement le numéro de version dans la section MySqlnd ou MySQLI , qui correspond à la valeur renvoyée par MySQLI :: $ client_version .

Vous pouvez également déployer directement une page de détection, par exemple:

 <?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'
]);
?>

Cette page peut être intégrée dans votre outil de surveillance du système pour l'audit rapide de la compatibilité des environnements PHP-MySQL.