2012-05-02 8 views
10

Ho bisogno di richiamare la versione di MySQL in uno script PHP (è una pagina di controllo dei requisiti del server per gli utenti prima di scaricare il plug-in) senza averli connessi al loro database.Come ottenere la versione MySQL del server in PHP senza connessione

Il caricamento di questo script sul proprio server e di aprirlo nel browser. Potrei chiedere loro di eseguire le informazioni php ma tutto ciò di cui ho bisogno è la versione Mysql e viene formattata nello script con il resto dei risultati.

Come devo andare su questo?

+6

fino a collegare ad un server MySQL, non c'è modo per scoprire quale versione qualsiasi server può o non può essere in esecuzione. Il meglio che puoi sperare è trovare la versione del client installata e non la versione del server. – Anigel

risposta

17

Se si ha accesso alla linea di mysql eseguibile di comando si può provare questo:

function getMySQLVersion() { 
    $output = shell_exec('mysql -V'); 
    preg_match('@[0-9]+\.[0-9]+\.[0-9][email protected]', $output, $version); 
    return $version[0]; 
} 

Per la versione client:

print mysql_get_client_info(); 

Senza accesso alla shell per ottenere la versione del server è necessario collegare prima :

$link = mysql_connect("localhost", "username", "password"); 
if (!$link) die('Could not connect: ' . mysql_error()); 
print "MySQL server version: " . mysql_get_server_info(); 
mysql_close($link); 
+0

Molti host non consentono shell-exec. Ogni altro modo? – Chris81

+2

Questa sarà la versione client. Molti host hanno il server su una macchina separata. –

+0

A meno che non si abbia accesso all'esecuzione di comandi shell sul server, non sarà possibile ottenere la versione di MySQL senza stabilire una connessione. –

7

È necessario che l'utente inserisca le proprie credenziali DB, in modo da poter connettersi al server MySQL ed eseguire la seguente query per ottenere la versione del server MySQL:

SHOW VARIABLES LIKE 'version' 

Ecco la mia uscita:

Variable_name  Value 
---------------------------- 
version   5.1.53-log 
+0

Bene, grazie ragazzi. Dovrò farli inserire le informazioni sul DB, immagino. – Chris81

Problemi correlati