2012-03-13 18 views
6

Tengo un script PHP 5.x que requiere OpenSSL 0.9.8k o superior.Cómo comprobar si la versión de OpenSSL instalada es> = 0.9.8k

En lo que respecta a OpenSSL, encontré las siguientes dos constantes relevantes:

OPENSSL_VERSION_TEXT (with value 'OpenSSL 1.0.0c 2 Dec 2010') 
OPENSSL_VERSION_NUMBER (with value '268435519') 

Por desgracia, no tengo idea de cómo hacer la comprobación mencionada en estos valores.

Respuesta

6

La fuente de la versión 0.9.8k tiene una constante de OPENSSL_VERSION_NUMBER0x009080bf

<?php 

if(OPENSSL_VERSION_NUMBER < 0x009080bf) { 
    echo "OpenSSL Version Out-of-Date"; 
} else { 
    echo "OpenSSL Version OK"; 
} 

?> 
+3

Gracias por su respuesta. Solo para un novato: ¿qué significa 0x009080bf? ¿O por qué, en mi caso, es '268435519' igual 'a OpenSSL 1.0.0c 2 de diciembre de 2010'? – HomeCoder

+3

@HomeCoder: '268435519' es' 0x1000003f' en hexadecimal. '0x1000003f' =' 1 [0] .0 [0] .0 [0] ', mientras' '0x009080bf' =' 0 [0] .9 [0] .8 [0] '. –

+0

aha, gracias :-) – HomeCoder

2

printInfo() de salida debe decirle si tiene soporte para OpenSSL

3

Si te gusta el comando de una línea sin embargo:

php -r "echo OPENSSL_VERSION_NUMBER;" 
Cuestiones relacionadas