get_client_info
Saiba como usar a função mysqli_get_client_info() do PHP para retornar a versão da biblioteca cliente MySQL com exemplos práticos.
A função mysqli_get_client_info() retorna a versão da biblioteca cliente MySQL com a qual a extensão MySQLi foi compilada. Aqui, biblioteca cliente refere-se à biblioteca C (libmysqlclient ou mysqlnd) que o PHP utiliza para se comunicar com o MySQL — não o seu navegador, a sua aplicação ou o servidor de banco de dados. Esta página explica a sintaxe, o que o valor de retorno realmente indica e como ela difere das funções relacionadas de "servidor" e "versão do cliente".
O que é a biblioteca cliente?
Quando o PHP se comunica com o MySQL, faz isso por meio de uma biblioteca cliente de baixo nível compilada na extensão MySQLi. Nas instalações modernas de PHP, isso é quase sempre o mysqlnd (MySQL Native Driver), que é distribuído com o próprio PHP; versões mais antigas ou compilações personalizadas podem usar o libmysqlclient da Oracle. A função mysqli_get_client_info() informa a string de versão daquela que está em uso, por exemplo mysqlnd 8.1.0 ou 8.0.30.
Isso é útil para:
- Depurar problemas de conexão que dependem do driver em uso.
- Registrar detalhes do ambiente para que um relatório de bug inclua a compilação exata do cliente.
- Verificar compatibilidade quando um recurso exige uma versão mínima da biblioteca cliente.
Sintaxe
mysqli_get_client_info(?mysqli $mysql = null): string| Parâmetro | Descrição |
|---|---|
$mysql | Opcional. Um link de conexão retornado por mysqli_connect() / new mysqli(). Este parâmetro é ignorado no PHP moderno — o valor vem da biblioteca compilada, não da conexão — mas é aceito para compatibilidade retroativa. |
Valor de retorno: uma string descrevendo a versão da biblioteca cliente MySQL. Nenhuma conexão é necessária para chamá-la.
Exemplo procedural
Como a função lê um valor em tempo de compilação, você nem precisa de uma conexão ativa com o banco de dados:
<?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);
?>Uma saída típica tem esta aparência (a string exata depende da sua compilação de PHP):
MySQL client library version: mysqlnd 8.1.0Exemplo orientado a objetos
O MySQLi também expõe esse valor por meio da propriedade client_info e do método 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();
?>Biblioteca cliente vs. versão do cliente vs. informações do servidor
Estas quatro funções são fáceis de confundir:
mysqli_get_client_info()— a versão da biblioteca cliente como uma string (ex.:mysqlnd 8.1.0).mysqli_get_client_version()— a mesma versão da biblioteca cliente como um inteiro compactado (ex.:80100), conveniente para comparações numéricas.mysqli_get_server_info()— a versão do servidor MySQL ao qual você está conectado.mysqli_get_host_info()— uma string descrevendo o tipo de conexão (host, socket, etc.).
Se você precisar apenas fazer uma verificação numérica do tipo "esta versão é suficientemente nova?", prefira mysqli_get_client_version(). Use mysqli_get_client_info() quando quiser um rótulo legível por humanos para logs.
Conclusão
mysqli_get_client_info() retorna uma string legível por humanos com a versão da biblioteca cliente MySQL compilada na extensão MySQLi. Ela não exige uma conexão e é mais útil para registro de logs e diagnósticos. Para mais informações sobre como abrir conexões, consulte mysqli_connect() e a visão geral do MySQLi.