답변:
Debian wheezy에서 php-5.3을 빌드하려면이 오류를 해결하려면 다음이 필요합니다.
apt-get install libssl-dev libsslcommon2-dev
그런 다음 포함 된 다음으로 구성해야합니다
./configure --with-libdir=/lib/x86_64-linux-gnu ...
--with-php-config /usr/local/src/php-x.x.x/scripts/php_config
. 확장명을 가진 PHP 컴파일 방법
OpenSSL 라이브러리와 헤더 파일이 이미 있다고 가정하면 (rpm 시스템에서 후자는 xxxx-devel 패키지에 있음) ...
이 문제 configure
는 파일 시스템에 배포 된 종속성을 해결 하는 방법에서 발생 합니다. 코드를 컴파일하려면 컴파일러가 헤더의 위치를 알아야합니다. 코드를 연결하려면 링커에서 라이브러리의 위치를 알아야합니다.
[colin@host]$ configure .... --with-openssl-dir=/usr/include/openssl ....
...
checking OpenSSL dir for FTP... /usr/include/openssl
checking for pkg-config... /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's <evp.h>
[colin@host]$ find /usr/include -name evp.h
/usr/include/openssl/evp.h
include 디렉토리에 include 파일이 있지만 라이브러리가 / usr / include / openssl에 없고 / usr / lib에 있기 때문에 pkg-config가 실패합니다.
디렉토리로 / usr을 사용하여 configure를 다시 실행하십시오.
configure .... --with-openssl-dir=/usr ....
...
checking OpenSSL dir for FTP... /usr
checking for pkg-config... /usr/bin/pkg-config
checking for OpenSSL version... >= 0.9.6
checking for CRYPTO_free in -lcrypto... yes
...
인수로 전달 된 경로는 관련 자원을 찾기 위해 검색됩니다.
php-7.1.12
에 Debian Jessie
. 감사합니다
또 다른 이유 ./configure
는 pkg-config
PHP7 및 Debian Jessie와 같은 경우와 같이 설치 하지 않았기 때문입니다 .
sudo apt-get install pkg-config
centos7에서 openssl-devel 설치
yum install openssl-devel
evp.h 파일을 찾을 위치를 파악하는 데 도움이 필요합니다. 기본적으로 디렉토리를 검색하고 디렉토리를 찾기 위해 하드 코드 된 접미사를 추가하기 때문입니다. 솔루션을 이해하려는 사람들을 위해 Wiki 페이지 에 세부 정보를 보관했습니다 . 나를 위해 일한 것은 다음과 같습니다.
root@audio-mon[10.10.10.82] ~/DOWNLOADS/php-5.5.23/ext/mysqlnd # PHP_OPENSSL_DIR="/usr /usr/lib/x86_64-linux-gnu"
root@audio-mon[10.10.10.82] ~/DOWNLOADS/php-5.5.23/ext/mysqlnd # ./configure --with-libdir=""
[...]
checking for DSA_get_default_method in -lssl... yes
checking for X509_free in -lcrypto... yes
checking for pkg-config... /usr/bin/pkg-config
checking for OpenSSL version... >= 0.9.6 # <------------------------------------- YES !
[...]
config.status: creating config.h
config.status: config.h is unchanged
root@audio-mon[10.10.10.82] ~/DOWNLOADS/php-5.5.23/ext/mysqlnd #
OpenSSL을 설치했지만 Fedora 19에서 같은 문제가 발생했습니다.
ssl과 관련된 모든 패키지를 일반 검색하여 openssl-devel.i686을 설치해야했습니다.
sudo yum search ssl
sudo yum install openssl-devel.i686
그런 다음 성공적으로 configure를 다시 실행했습니다.
sudo ./configure --with-apxs2=/usr/bin/apxs --with-mysql --enable-mbstring --with-mysqli --with-openssl=/usr/