2012-05-02 10 views
10

Necesito repetir la versión de MySQL en un script PHP (es una página de verificación de requisitos del servidor para los usuarios antes de descargar el complemento) sin tener que conectarse a su base de datos.Cómo obtener la versión del servidor MySQL en PHP sin conexión

Cargue este script en su servidor y ábralo en el navegador. Podría pedirles que ejecuten la información de php, pero todo lo que necesito es la versión de Mysql y se formatea en el script con el resto de los resultados.

¿Qué debo hacer al respecto?

+6

hasta que se conecte a un servidor MySQL, no hay manera para averiguar qué versión puede o no ejecutar cualquier servidor. Lo mejor que puede esperar es encontrar la versión del cliente que está instalada, no la versión del servidor. – Anigel

Respuesta

17

Si tiene acceso al comando ejecutable línea de MySQL puede probar esto:

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

Para la versión del cliente:

print mysql_get_client_info(); 

Sin acceso a una consola para obtener la versión del servidor primero debe conectar :

$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

Muchos hosts no permiten el shell-exec. ¿Cualquier otra manera? – Chris81

+2

Esa será la versión del cliente. Muchos hosts tienen el servidor en una máquina separada. –

+0

A menos que tenga acceso para ejecutar comandos de shell en el servidor, entonces no podrá obtener la versión de MySQL sin establecer una conexión. –

7

Necesitará que el usuario ingrese sus credenciales de base de datos, para que pueda conectarse al servidor MySQL y ejecutar la siguiente consulta para obtener la versión del servidor MySQL:

SHOW VARIABLES LIKE 'version' 

Aquí está mi salida:

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

Bueno, gracias chicos. Voy a tener que hacerles ingresar su información DB, supongo. – Chris81

Cuestiones relacionadas