Я пытаюсь перекомпилировать PHP, но ./configure терпит неудачу в:
configure: error: Cannot find OpenSSL's <evp.h>
У меня есть LibSSL 1.0.0, LibSSL 0.9.8, LibSSL-Dev, OpenSSL.
--with-openssl=/usr/include/openssl
когда я пытаюсь с
--with-openssl
говорит мне:
configure: error: не удается найти библиотеки OpenSSL
Где **** проблема?
PS Php - 5.2.5, ОС - Ubuntu
libcurl4-openssl-dev
отличается отlibssl-dev
?Чтобы собрать php-5.3 на Debian wheezy, вам нужно следующее, чтобы исправить эту ошибку.
Затем вам нужно настроить следующее
источник
--with-php-config /usr/local/src/php-x.x.x/scripts/php_config
. Я написал инструкции по компиляции PHP с расширениями.Предполагая, что у вас уже есть библиотеки OpenSSL и заголовочные файлы (в системах rpm последние находятся в пакете xxxx-devel) ...
Кажется, проблема возникает из-за того, как
configure
решаются зависимости, которые распределены по файловой системе. Чтобы скомпилировать код, компилятор должен знать, где находятся заголовки. Чтобы связать код, компоновщик должен знать, где находятся библиотеки.В каталоге include есть файл include, но pkg-config завершается ошибкой, поскольку библиотека находится не в / usr / include / openssl, а в / usr / lib
Запустите configure снова с каталогом / usr:
Путь, переданный в качестве аргумента, ищется для поиска соответствующих ресурсов.
источник
php-7.1.12
наDebian Jessie
. СпасибоДругая причина
./configure
может быть неудачной, потому что вы неpkg-config
установили, как в моем случае с PHP7 и Debian Jessie:источник
Для компиляции php-5.4.45 на Debian 8.1 (Jessie) мне пришлось:
После этого я мог скомпилировать его, просто используя
--with-openssl
источник
Я исправил проблему, установив дополнительные библиотеки
источник
На centos7 установить openssl-devel
yum install openssl-devel
источник
Вам нужно помочь настроить выяснение, где искать файл evp.h, потому что по умолчанию он будет сканировать каталоги и добавлять в них жестко закодированные суффиксы, чтобы найти его. Я сохранил подробности на своей вики-странице для тех, кто хочет понять решение. Вот что сработало для меня:
YMMV (пути разные). Если это не сработало, проверьте страницу вики , это поможет вам выяснить, какие пути нужно указать.
источник
У меня была такая же проблема на Fedora 19, несмотря на то, что я установил OpenSSL.
Мне пришлось установить openssl-devel.i686, который я нашел, выполнив общий поиск всех пакетов, связанных с ssl:
Затем я снова запустил configure:
источник
Просто мой отзыв: После решения этой проблемы ssl из этого поста, я полностью разочаровался в компиляции php 5.3, потому что он потерпел неудачу из-за расширений Zend Dom в середине, я нашел несколько патчей и решил просто отказаться от этой суеты , Есть Ubuntu 12.04, на котором все еще есть 5.3.10 php. Будьте осторожны, php-fpm тогда очищал переменные окружения. Так что не удивляйтесь, если вы не можете передать глобальные переменные из докера, например.
источник