Aller au contenu

Récupérer la version de mysql en php


Sujets conseillés

Posté

Coucou,

j'aurai besoin de récupérer la version de MySQL de mon serveur à partir d'un script en PHP pour faire un test de compatibilité.

J'essaie le code ci-dessous mais la variable $version[0] est systématiquement vide ($version est un tableau) !

preg_match('/[0-9]\.[0-9]+\.[0-9]+/', shell_exec('mysql -V'), $version);

Si vous avez une idée je suis preneur :smartass:

Merci

++

Patrick

Posté

Hello

Si tu peux lancer une requête en php :

SELECT VERSION();

(apparemment tu ne peux pas, mais au cas où ;) )

Posté

Apparemment j'ai pas les droits pour lancer une requête shell.

Sur mon dédié c'est un comble :IMSTP1:

Bon je vais devoir faire appel ou Gourou des lieux pour voir si ça vient bien de ça. Dan tu es là ?

Sinon si vous savez ce qu'il faut modifier pour avoir le droit de le faire, je suis partant :1eye:

Bon sinon il y a mysql_get_client_info() qui retourne le client mysql, mais ça ne me donne pas la version de MySQL, à moins que ça ne soit lié et dans ce cas ça me va.

Z'en pensez quoi ?

++

Patrick

Posté

De toutes façons le serveur MySQL est bien souvent sur une machine différente, et dans ce cas il n'y a que la méthode indiquée par KaRaK qui fonctionnera.

D'ailleurs l'exécutable "mysql", c'est aussi le client MySQL. Il n'est pas forcément installé et ce n'est pas forcément la même version que le serveur.

Posté

Oki Kioob et merci pour la remarque.

Le test est destiné uniquement à des serveurs dédiés en vu d'y installer un script. Le script ne nécessitant pas des ressources assez élevées pour justifier l'usage d'un serveur dédié supplémentaire à l'usage MySQL la question ne devrait jamais se poser.

Au pire je vais utiliser la fonction php mysql_get_server_info() qui a l'inconvénient d'exiger une connexion à la base avant.

Si je trouve mieux je vous le dirai.

++

Patrick

Posté

Remplace

shell_exec('mysql -V')

par

shell_exec('/usr/local/mysql/bin/mysql -V')

;)

Dan

Ps1: pour information, mysql_get_client_info() retourne bien la bonne valeur, vu que le client et le serveur sont sur la même b&cane (et ont la même version bien sûr)

Ps2: tu as bien accès au shell_exec, vu que tu n'es pas en safe_mode ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...