Я пытаюсь собрать PHP7.0.1 на CentOS 6.7 с поддержкой openssl, но я получаю ошибку. Я сузил проблему до openssl, потому что я могу скомпилировать php нормально, когда удаляю «—with-openssl» и «—with-openssl-dir» из команды configure ниже.
Я думал, что это может быть проблема с версией openssl, поэтому я обновил ее до OpenSSL-1.0.2e. Я знаю, что это сработало, потому что когда я выпускаю «/ usr / bin / openssl version», я получаю «OpenSSL 1.0.2e 3 декабря 2015». Это также подтверждает путь к этой версии openssl.
Вот моя полная команда настройки:
./configure --prefix=/usr/lib/php701 \
--with-apxs2=/usr/local/apacheALL2412/bin/apxs \
--sysconfdir=/usr/lib/php701/phpini \
--localstatedir=/var \
--datadir=/usr/share/php \
--mandir=/usr/share/man \
--enable-fpm \
--with-fpm-user=apache2412 \
--with-fpm-group=apache2412 \
--with-config-file-path=/usr/lib/php701/phpini \
--with-zlib \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--enable-dba=shared \
--with-gdbm \
--with-gmp \
--enable-ftp \
--with-gettext \
--enable-mbstring \
--with-libxml-dir=/usr/lib/php701/xml2 \
--enable-xml \
--with-curl=/opt/curlssl/ \
--with-mysql \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-mysqli \
--enable-mysqlnd \
--with-openssl=/usr \
--with-openssl-dir=/usr/bin \
--with-pdo-mysql \
--with-readline && \
make
Я пробовал разные значения «—with-openssl» и «—with-openssl-dir», но все равно получаю ошибку ниже.
Вот ошибка:
ext/openssl/.libs/xp_ssl.o: In function `php_openssl_setup_crypto':
/Timstmp/PHP701-Source/php-7.0.1/ext/openssl/xp_ssl.c:1599:
undefined reference to `SSL_CTX_set_alpn_protos'
/Timstmp/PHP701-Source/php-7.0.1/ext/openssl/xp_ssl.c:1604:
undefined reference to `SSL_CTX_set_alpn_select_cb'
ext/openssl/.libs/xp_ssl.o: In function `php_openssl_sockop_set_option':
/Timstmp/PHP701-Source/php-7.0.1/ext/openssl/xp_ssl.c:2305:
undefined reference to `SSL_get0_alpn_selected'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
Я также использую OpenSSL 1.0.1e, и я также встречаю это. Вы можете найти решение здесь:
https://www.inaruto.com/2016-01-09/php7%E5%AE%89%E8%A3%85%E7%9A%84%E5%90%84%E7%A7%8D%E6% А2% 97 /
В разделе 3 вы должны скомпилировать новую версию curl, а затем просто указать путь curl с помощью (with-curl = ???), снова скомпилировать php7.x x
Других решений пока нет …