W3docs

get_client_info

Guida alla funzione mysqli_get_client_info() in PHP per ottenere la versione della libreria client MySQL con sintassi ed esempi pratici.

La funzione mysqli_get_client_info() restituisce la versione della libreria client MySQL con cui è stata compilata l'estensione MySQLi. In questo contesto, libreria client indica la libreria C (libmysqlclient o mysqlnd) che PHP utilizza per comunicare con MySQL — non il browser, l'applicazione o il server del database. Questa pagina illustra la sintassi, il significato del valore restituito e le differenze rispetto alle funzioni correlate per il "server" e la "versione client".

Cos'è la libreria client?

Quando PHP comunica con MySQL, lo fa attraverso una libreria client di basso livello compilata nell'estensione MySQLi. Nelle installazioni PHP moderne si tratta quasi sempre di mysqlnd (il MySQL Native Driver), che viene distribuito insieme a PHP stesso; versioni più vecchie o build personalizzate possono usare libmysqlclient di Oracle. mysqli_get_client_info() riporta la string di versione di quella in uso, ad esempio mysqlnd 8.1.0 o 8.0.30.

Questo è utile per:

  • Debug dei problemi di connessione che dipendono dal driver in uso.
  • Registrazione dei dettagli dell'ambiente in modo che una segnalazione di bug includa la build esatta del client.
  • Verifica della compatibilità quando una funzionalità richiede una versione minima della libreria client.

Sintassi

mysqli_get_client_info(?mysqli $mysql = null): string
ParametroDescrizione
$mysqlOpzionale. Un collegamento di connessione restituito da mysqli_connect() / new mysqli(). Questo parametro viene ignorato nelle versioni moderne di PHP — il valore proviene dalla libreria compilata, non dalla connessione — ma è accettato per compatibilità con le versioni precedenti.

Valore restituito: una string che descrive la versione della libreria client MySQL. Non è necessaria alcuna connessione per chiamarla.

Esempio procedurale

Poiché la funzione legge un valore definito in fase di compilazione, non è necessaria nemmeno una connessione attiva al database:

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

Un output tipico è simile a questo (la string esatta dipende dalla build di PHP):

MySQL client library version: mysqlnd 8.1.0

Esempio orientato agli oggetti

MySQLi espone questo valore anche attraverso la proprietà client_info e il metodo 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();
?>

Libreria client vs. versione client vs. informazioni server

Queste quattro funzioni sono facili da confondere:

Se è sufficiente un controllo numerico del tipo "questa versione è abbastanza recente?", preferire mysqli_get_client_version(). Usare mysqli_get_client_info() quando si desidera un'etichetta leggibile dall'uomo per i log.

Conclusione

mysqli_get_client_info() restituisce una string leggibile dall'uomo per la libreria client MySQL compilata nell'estensione MySQLi. Non richiede una connessione ed è più utile per il logging e la diagnostica. Per ulteriori informazioni sull'apertura delle connessioni, vedere mysqli_connect() e la panoramica su MySQLi.

Esercizio

Pratica
Cosa restituisce mysqli_get_client_info()?
Cosa restituisce mysqli_get_client_info()?
Was this page helpful?