2010-01-22 11 views
35

¿Hay alguna manera de verificar la versión de PHP que ejecutó un script determinado desde ese script? Así, por ejemplo, el siguiente fragmento de¿Cómo obtener la versión de PHP?

$version = way_to_get_version(); 
print $version; 

imprimiría 5.3.0 en una máquina, y 5.3.1 en otra máquina.

+10

Por cierto si google para 'php version', el enlace a la documentación de' phpversion() 'es el primer resultado ... –

+0

Nota: http://www.php.net/manual/en /function.phpversion.php#84424 – RobertPitt

+0

@FelixKling veces tristes cuando esta pregunta SO es más alta en Google que la documentación real. – Greg

Respuesta

52
$version = phpversion(); 
print $version; 

Documentation

Sin embargo, para las mejores prácticas, me gustaría utilizar la constante PHP_VERSION. Sin sobrecarga de funciones, y una IMO más limpia.

Además, asegúrese de usar version_compare() si está comparando versiones de PHP para la compatibilidad.

+3

Se acaba de llamar 'version_compare()'. –

+1

¡Gracias, eso es lo que obtengo para recordar de memoria! – alex

+0

http://www.php.net/manual/en/function.phpversion.php#84424 yo siempre usar 'PHP_VERSION' para las mejores prácticas – RobertPitt

10

Tome un vistazo a phpversion().

echo "Current version is PHP " . phpversion(); 
5

phpversion() le dirá la versión de PHP se está ejecutando actualmente.

6

Técnicamente la mejor manera de hacerlo es con el PHP_VERSION constante ya que no requiere llamada a la función y la sobrecarga que viene con él.

echo PHP_VERSION; 

constantes son siempre más rápido que las llamadas a funciones.

+0

Variables ?! ¡Eso es una constante! –

+2

lol. ¡Claro, si quieres obtener TÉCNICO! –

+7

En el sitio web de programación, sí, preferiría obtener técnico. – Matchu

13

Puede usar la función phpversion() o la constante PHP_VERSION.

para comparar las versiones siempre se debe confiar en version_compare().

+0

"* Para comparar versiones, siempre debe confiar en version_compare() . * "¿Te importa agregar por qué? (Estoy indagando, no insinuando que es incorrecto) – James

+1

@James: 'version_compare()' es simplemente más poderoso que los operadores aritméticos: http://ideone.com/0QQwq7. El manual de PHP tiene algunos buenos ejemplos. –

+0

k gracias, haremos un poco de excavación! – James

1

phpversion() es una forma. Como dijo John conde, PHP_VERSION es otra (que no sabía hasta ahora).

Usted también podría estar interesado en function_exists()

3

.........

if (version_compare(phpversion(), '5', '>=')) 
{ 
     // act accordintly 
} 
+0

Esto es lo que necesito – NaveenDA

-1

Si encasillado la salida de phpversion() para un número de punto flotante, que le dará las partes de la versión mayor y menor. De esta manera puede implementar la compatibilidad de PHP fácilmente.

$version = (float)phpversion(); 
if ($version > 7.0) { 
    //do something for php7.1 and above. 
} elseif ($version === 7.0) { 
    //do something for php7.0 
} else { 
    //do something for php5.6 or lower. 
} 
+0

Realmente debería usar 'version_compare()', ya que esto es para lo que está diseñado. – Laurence

Cuestiones relacionadas