Connaître la version de PHP ?

Eléphant du PHP | 92 Messages

12 sept. 2008, 20:13

Bonsoir,
Est-ce qu'il existe une fonction ou une variable globale qui me permettrait de connaître la version de PHP installée sur un serveur (j'ai besoin de la version générale, pas forcément de la sous version) ?

Apparemment, elle est indiquée dans $_SERVER['SERVER_SOFTWARE'], mais je ne suis pas sûr que l'analyse de cette ligne soit fiable : est-ce que cette info est toujours présente quel que soit le serveur et chaque paramètre toujours séparé par une espace (si ça diffère selon le serveur, il est impossible de garantir l'analyse) ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

13 sept. 2008, 00:05

Bonjour,

A quoi cela va-t-il te servir?
Si il s'agit juste de connaitre la version du serveur sur lequel tu es hébergé, un simple phpinfo() te donnera tous les renseignements.
Si il s'agit de récupérer la version de PHP dans ton script pour pouvoir adapter son comportement (vis-à-vis des fonctions introduites dans les versions récentes de PHP), le meilleure moyen selon moi est plutôt d'utiliser la fonction function_exists() ainsi si dans une future version la fonction concernée est retirée ton script continuera de fonctionner ;)

http://fr.php.net/function_exists
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2937 Messages

13 sept. 2008, 02:24

Il y a aussi phpversion(), voire version_compare() s'il s'agit de comparer. ;)

Eléphant du PHP | 92 Messages

13 sept. 2008, 10:56

Pour l'utilité, c'est parce que je développe des sites assez régulièrement et ils nécessitent PHP 5. Or, assez souvent, les hébergeurs sont encore en PHP 4 par défaut (avec .htaccess à régler pour passer en 5).
J'aimerais mettre en place un petit script qui serait déployé à chaque fois (que j'intégrerais à mon "framework" perso) et qui affiche un message d'avertissement si le serveur n'est pas en PHP 5, histoire que je ne cherche pas pendant dix minutes quel réglage j'ai oublié de mettre à jour qui fait que le site que je viens de mettre en ligne ne marche qu'à-moitié avant de me souvenir que chez l'hébergeur en question ils sont en PHP 4 par défaut. Une sorte de pense-bête des prérequis quand je mets un site en ligne.

Je vais voir phpversion() et version_compare() (phpinfo() affichant toute une page d'infos, ce n'est pas très pratique pour faire une fonction qui renvoie en une ligne la version de PHP).
Et j'avais pensé à function_exists() mais je n'ai pas de nom de fonction en tête qui n'existerait qu'à partir de PHP 5.

EDIT : ah oui, phpversion() et version_compare() ont l'air nickel pour ce que je veux faire. Merci !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 sept. 2008, 11:13

Modération :
abelthorne, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 135 Messages

13 sept. 2008, 11:14

Bonjour !

Code : Tout sélectionner

echo PHP_VERSION
Ca te donne juste la version

Eléphant du PHP | 92 Messages

13 sept. 2008, 14:56

Modération :
abelthorne, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.
Ah, ok, je n'avais pas fait attention au fait que sur votre forum on mettait un tag Résolu. Désolé.
Bonjour !

Code : Tout sélectionner

echo PHP_VERSION
Ca te donne juste la version
Oui, j'ai vu ça en regardant les descriptions de phpversion() et version_compare(). ;)