【发布时间】:2012-03-30 10:03:59
【问题描述】:
我有一个 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')
不幸的是,我不知道如何对这些值进行上述检查。
【问题讨论】:
我有一个 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')
不幸的是,我不知道如何对这些值进行上述检查。
【问题讨论】:
版本 0.9.8k 的源有一个常量 OPENSSL_VERSION_NUMBER 或 0x009080bf
<?php
if(OPENSSL_VERSION_NUMBER < 0x009080bf) {
echo "OpenSSL Version Out-of-Date";
} else {
echo "OpenSSL Version OK";
}
?>
【讨论】:
268435519 是十六进制的0x1000003f。 0x1000003f = 1[0].0[0].0[0],而0x009080bf = 0[0].9[0].8[0]。
如果你喜欢单行命令:
php -r "echo OPENSSL_VERSION_NUMBER;"
【讨论】:
OPENSSL_VERSION_TEXT 会更有帮助。
printInfo() 输出应该告诉你是否支持 openSSL
【讨论】: