Я пытаюсь собрать PHP 7.2.5
в операционной системе RedHat. Я уже скомпилировал OpenSSL 1.1.0h
самостоятельно в моем собственном каталоге /home/user/openssl-1.1
, Вот такие строки, как я скомпилировал OpenSSL
TARGET_DIR=/home/usr/openssl-1.1
# ...
./config no-shared --prefix=${TARGET_DIR} --openssldir=${TARGET_DIR}/conf
make INSTALL_PREFIX=${TARGET_DIR}
make install
Теперь я хочу скомпилировать PHP 7.2.5
вместе с скомпилированной версией OpenSSL. Я делаю это с этими строками:
PHP_PREFIX=/home/user/php-7.2
export OPENSSL_INCLUDE_DIR=/home/user/openssl-1.1/include/openssl
# ...
./buildconf --force
./configure --prefix="$PHP_PREFIX" \
--enable-sockets \
--enable-embed \
--enable-com-dotnet \
--enable-ctype \
--with-curl \
--enable-mbstring=static \
--with-gd \
--enable-soap \
--enable-pdo=static \
--with-mp \
--with-curl=static \
--with-openssl=static \
--with-openssl-dir="/home/user/openssl-1.1"
Но в какой-то момент я получаю это сообщение об ошибке:
configure: error: Cannot find OpenSSL's <evp.h>
Этот файл evp.h
существует в каталоге /home/user/openssl-1.1/include/openssl
,
Кто-нибудь знает, как решить эту проблему?
Я нашел решение для этот проблема: нужно изменить два параметра --with-openssl
а также --with-libdir
что-то вроде этого:
./buildconf --force
./configure --prefix="$PHP_PREFIX" \
# ...
--with-openssl=/home/user/openssl-1.1 \
--with-libdir=lib64
Насколько я знаю, здесь не нужны никакие другие переменные окружения.
Других решений пока нет …