2012-03-13 57 views
6

我有一個需要OpenSSL 0.9.8k或更高版本的PHP 5.x腳本。如何檢查安裝的OpenSSL版本是否大於0.9.8k

關於OpenSSL的,我發現下面的兩個相關的常數:

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

不幸的是,我不知道該怎麼做這些值所提到的檢查。

回答

6

的版本0.9.8k源具有恆定OPENSSL_VERSION_NUMBER0x009080bf

<?php 

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

?> 
+3

感謝您的回答。只是爲了新手:0x009080bf是什麼意思?或者爲什麼在我的情況下,'268435519'等於'OpenSSL 1.0.0c 2010年12月2日'? – HomeCoder 2012-03-13 23:51:39

+3

@HomeCoder:'268435519'是十六進制的'0x1000003f'。 '0x1000003f' ='1 [0] .0 [0] .0 [0]',而'0x009080bf' ='0 [0] .9 [0] .8 [0]'。 – 2012-03-14 01:33:21

+0

aha,謝謝:-) – HomeCoder 2012-03-14 02:05:44

2

printInfo()輸出應該告訴你,如果你有OpenSSL的支持

3

如果你喜歡一個行命令,但:

php -r "echo OPENSSL_VERSION_NUMBER;"