openssl
OpenSSL support enabled
OpenSSL Library Version OpenSSL 0.9.8o 01 Jun 2010
OpenSSL Header Version OpenSSL 1.0.1 14 Mar 2012
根据 PHP (5.4.4) 信息,这是我遇到的问题。我束手无策,无法理解为什么它不起作用。
这是我的配置:
./configure
'--with-apxs2=/etc/apache24/bin/apxs'
'--with-mysql'
'--prefix=/etc/apache24/php'
'--with-config-file-path=/etc/apache24/php'
'--enable-force-cgi-redirect'
'--disable-cgi'
'--with-zlib'
'--with-gettext'
'--with-curl'
'--with-mcrypt'
'--with-gd'
'--with-pdo'
'--with-pdo-mysql'
'--with-mysql-sock=/var/run/mysqld/mysqld.sock'
'--with-libdir=lib32'
'--with-openssl=shared,/usr'
'--with-mysqli'
答案1
因为你链接针对错误版本的 OpenSSL。您获得了正确的标头,但无论出于何种原因(考虑到您对系统造成的损害程度,根据您过去的问题,可能的原因几乎无尽的),链接器仍然在查找和使用您现有的旧 0.9.8 版 libssl。
就我个人而言,我会告诉您的 PCI 审计员去将 Nessus 扫描塞入他的基础,但如果您不太敢冒险,至少要找一个知道如何构建软件的人来进入您的机器,找出您做错的地方并修复它。我们无法在问答网站上对您的系统进行逆向工程。
答案2
我遇到了同样的问题。我只需要执行 a make clean
,下次编译时,openssl 标头和库版本都相同。
答案3
对我来说,这是一个不太明显的问题。我发现 php-扩展加载顺序可能很重要有时!
例如,如果我们将 curl.so 与较旧的 libssl.so 链接,将 openssl.so 与较新的 libssl.so 链接,并且如果 curl.so 在 openssl.so 之前加载,则两个扩展都将使用较旧的 openssl 库。
因此,在您的情况下,您已经在 curl 扩展中进行了编译,该扩展可能使用了与旧 ssl 库链接的 libcurl,因此旧的 ssl 库在您的 openssl 扩展之前加载。