Компиляция PHP 7.2 с OpenSSL - PullRequest
       19

Компиляция PHP 7.2 с OpenSSL

0 голосов
/ 27 апреля 2018

Я пытаюсь скомпилировать 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.

Кто-нибудь знает, как решить эту проблему?

1 Ответ

0 голосов
/ 01 мая 2018

Я нашел решение для этой проблемы: нужно изменить два параметра --with-openssl и --with-libdir на что-то вроде этого:

./buildconf --force
./configure --prefix="$PHP_PREFIX" \
# ...
    --with-openssl=/home/user/openssl-1.1 \
    --with-libdir=lib64

Насколько я знаю, здесь не нужны никакие другие переменные окружения.

...