Назад | Перейти на главную страницу

Я перекомпилировал десятки раз, почему моя библиотека OpenSSL и заголовок все еще не те?

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'

Потому что ты связывание против неправильной версии OpenSSL. У вас есть правильные заголовки, но по какой-либо причине (и, учитывая объем ущерба, который вы нанесли своей системе, исходя из ваших прошлых вопросов, возможные причины почти бесконечный), компоновщик все еще находит и использует старую версию libssl 0.9.8, которая у вас есть.

Лично я бы посоветовал вашему аудитору PCI залезть в его нессус-сканирование на его фундамент, но если вы не чувствуете себя столь предприимчивым, по крайней мере, попросите кого-нибудь, кто знает, как создавать программное обеспечение, на вашу машину, разобраться, что вы » Вы делаете что-то неправильно, и исправьте это. Мы не сможем перепроектировать вашу систему на сайте вопросов и ответов.

У меня такая же проблема. Мне просто нужно было сделать make clean и в следующий раз, когда я скомпилировал его, версии заголовка и библиотеки openssl были одинаковыми.

Для меня это была очень неочевидная проблема. И я обнаружил, что php-порядок загрузки расширений может быть важным иногда!

Если, например, у нас есть curl.so, связанный с более старым libssl.so, и openssl.so, связанный с более новым libssl.so, и если curl.so загружен до openssl.so, то оба расширения будут использовать старую библиотеку openssl.

Итак, в вашем случае вы скомпилировали расширение curl, которое, вероятно, использует libcurl, связанный со старой библиотекой ssl, поэтому старая библиотека ssl загружается до вашего расширения openssl.