Patrick Posté 2 Octobre 2008 Posté 2 Octobre 2008 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 Merci ++ Patrick
Patrick Posté 2 Octobre 2008 Auteur Posté 2 Octobre 2008 Arf judicieux ! ben rien justement, nada, que du vide ! Une idée ? ++ Patrick
KaRaK Posté 2 Octobre 2008 Posté 2 Octobre 2008 Hello Si tu peux lancer une requête en php : SELECT VERSION(); (apparemment tu ne peux pas, mais au cas où )
Patrick Posté 2 Octobre 2008 Auteur Posté 2 Octobre 2008 Apparemment j'ai pas les droits pour lancer une requête shell. Sur mon dédié c'est un comble 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 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
Kioob Posté 2 Octobre 2008 Posté 2 Octobre 2008 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.
Patrick Posté 2 Octobre 2008 Auteur Posté 2 Octobre 2008 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
Dan Posté 2 Octobre 2008 Posté 2 Octobre 2008 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant