2012-03-13 3 views
6

Ho uno script PHP 5.x che richiede OpenSSL 0.9.8k o superiore.Come verificare se la versione di OpenSSL installata è> = 0.9.8k

Per quanto riguarda OpenSSL, ho trovato i seguenti due costanti rilevanti:

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

Purtroppo, non ho idea di come fare il controllo menzionato su questi valori.

risposta

6

La fonte per la versione 0.9.8k ha una costante OPENSSL_VERSION_NUMBER di 0x009080bf

<?php 

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

?> 
+3

Grazie per la risposta. Solo per un principiante: cosa significa 0x009080bf? O perché, nel mio caso, è '268435519' uguale 'OpenSSL 1.0.0c 2 dic 2010'? – HomeCoder

+3

@HomeCoder: '268435519' è' 0x1000003f' in esadecimale. '0x1000003f' =' 1 [0] .0 [0] .0 [0] ', mentre' 0x009080bf' = '0 [0] .9 [0] .8 [0]'. –

+0

aha, grazie :-) – HomeCoder

2

printInfo() in uscita dovrebbe dirvi se avete il supporto OpenSSL

3

Se ti piace il comando di una riga però:

php -r "echo OPENSSL_VERSION_NUMBER;"