W3docs

get_client_info

Découvrez la fonction mysqli_get_client_info() en PHP, qui retourne la version de la bibliothèque cliente MySQL utilisée par l'extension MySQLi.

La fonction mysqli_get_client_info() retourne la version de la bibliothèque cliente MySQL contre laquelle l'extension MySQLi a été compilée. Ici, bibliothèque cliente désigne la bibliothèque C (libmysqlclient ou mysqlnd) que PHP utilise pour communiquer avec MySQL — et non votre navigateur, votre application ou le serveur de base de données. Cette page explique la syntaxe, ce que la valeur de retour vous indique réellement, et en quoi elle diffère des fonctions connexes relatives au « serveur » et à la « version cliente ».

Qu'est-ce que la bibliothèque cliente ?

Lorsque PHP communique avec MySQL, il le fait via une bibliothèque cliente de bas niveau compilée dans l'extension MySQLi. Sur les installations PHP modernes, il s'agit presque toujours de mysqlnd (le pilote natif MySQL), qui est livré avec PHP lui-même ; les versions plus anciennes ou personnalisées peuvent utiliser libmysqlclient d'Oracle. mysqli_get_client_info() indique la chaîne de version de celle qui est en cours d'utilisation, par exemple mysqlnd 8.1.0 ou 8.0.30.

Cela est utile pour :

  • Déboguer les problèmes de connexion qui dépendent du pilote utilisé.
  • Consigner les détails de l'environnement afin qu'un rapport de bogue inclue la version exacte du client compilé.
  • Vérifier la compatibilité lorsqu'une fonctionnalité requiert une version minimale de la bibliothèque cliente.

Syntaxe

mysqli_get_client_info(?mysqli $mysql = null): string
ParamètreDescription
$mysqlOptionnel. Un lien de connexion retourné par mysqli_connect() / new mysqli(). Ce paramètre est ignoré dans les versions modernes de PHP — la valeur provient de la bibliothèque compilée, pas de la connexion — mais il est accepté pour la compatibilité ascendante.

Valeur de retour : une string décrivant la version de la bibliothèque cliente MySQL. Aucune connexion n'est requise pour l'appeler.

Exemple procédural

Comme la fonction lit une valeur déterminée à la compilation, vous n'avez même pas besoin d'une connexion active à la base de données :

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

Une sortie typique ressemble à ceci (la string exacte dépend de votre version de PHP) :

MySQL client library version: mysqlnd 8.1.0

Exemple orienté objet

MySQLi expose également cette valeur via la propriété client_info et la méthode mysqli::get_client_info() :

<?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();
?>

Bibliothèque cliente vs. version cliente vs. informations serveur

Ces quatre fonctions sont faciles à confondre :

Si vous avez seulement besoin d'effectuer une vérification numérique « cette version est-elle suffisamment récente ? », préférez mysqli_get_client_version(). Utilisez mysqli_get_client_info() lorsque vous souhaitez un libellé lisible par l'humain pour les journaux.

Conclusion

mysqli_get_client_info() retourne une string lisible par l'humain pour la bibliothèque cliente MySQL compilée dans l'extension MySQLi. Elle ne nécessite pas de connexion et est particulièrement utile pour la journalisation et les diagnostics. Pour en savoir plus sur l'ouverture de connexions, consultez mysqli_connect() et la présentation de MySQLi.

Pratique

Pratique
Que retourne mysqli_get_client_info() ?
Que retourne mysqli_get_client_info() ?
Was this page helpful?