我重新编译了几十次,为什么我的OpenSSL Library和Header仍然不一样?

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)信息,这是我有问题。 我思想枯燥,我不明白为什么它不工作。

这是我的configuration:

 ./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' 

因为你连接的是错误版本的OpenSSL。 你有正确的标题,但是无论出于何种原因(考虑到你对系统造成的损害的数量,根据你以前的问题,可能的原因几乎是无止境的 ),链接器仍然在发现和使用旧的0.9.8版本的libssl你有铺设。

就我个人而言,我会告诉你的PCI审计员,要把他的内核扫描到他的基础上,但是如果你不喜欢冒险的话,至less应该找一个懂得如何构build软件的人来进入你的机器,做错了,并修复它。 我们无法在Q&A网站上对您的系统进行反向工程。

我有同样的问题。 我只需要做一个make clean ,下次我编译它时,openssl头和库版本都是一样的。

对我来说这是非常不明显的问题。 而且我发现php- 扩展加载顺序有时候可能很重要

例如,如果curl.so链接到较旧的libssl.so,而openssl.so链接到较新的libssl.so,并且curl.so在openssl.so之前加载,则两个扩展都将使用较旧的openssl库。

所以在你的情况下,你已经编译了curl扩展,可能使用libcurl链接到旧的ssl库,所以旧的ssl库在openssl扩展之前加载。