php: debian gnu/linux에서 openssl, ftp, ldap, 컬 지원으로 컴파일

php: debian gnu/linux에서 openssl, ftp, ldap, 컬 지원으로 컴파일

Debian GNU/Linux에서 PHP 5.2.x를 컴파일하려고 합니다:

./configure --with-ldap --enable-ftp --with-apxs2 --with-mcrypt --enable-bcmath --with-bz2 --enable-calendar --enable-dba=shared --enable-exif --with-gettext --enable-mbstring --with-mhash --with-readline --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-wddx --enable-zip --with-zlib --with-xsl

만들다

완벽하게 작동하지만 컬이 필요합니다.

./configure --with-ldap --enable-ftp --with-apxs2 --with-mcrypt --enable-bcmath --with-bz2 --enable-calendar --enable-dba=shared --enable-exif --with-gettext --enable-mbstring --with-mhash --with-readline --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-wddx --enable-zip --with-zlib --with-xsl --with-curl

만들다

실수:

/usr/bin/ld: ext/curl/.libs/interface.o: 'CRYPTO_set_id_callback@@OPENSSL_1.0.0' 기호에 대한 정의되지 않은 참조 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0: 오류 기호 추가: 명령줄에 DSO가 없습니다. Collect2: 오류: ld가 1 종료 상태를 반환했습니다. Makefile: 241: 'sapi/cli/php' 대상에 대한 레시피가 실패했습니다.

dpkg -l | dpkg -l |

ii libcurl4-openssl-dev:amd64 7.38.0-4+deb8u5
amd64 libcurl용 개발 파일 및 문서(OpenSSL 스타일)

ii libgnutls-openssl27:amd64 3.3.8-6+deb8u3
amd64 GNU TLS 라이브러리 - OpenSSL 래퍼

ii openssl 1.0.1t-1+deb8u5
amd64 SSL(Secure Sockets Layer) 툴킷 - 암호화 유틸리티

dpkg -l | dpkg -l |

ii 컬 7.38.0-4+deb8u5
URL 구문을 통해 데이터를 전송하기 위한 amd64 명령줄 도구

ii libcurl3:amd64 7.38.0-4+deb8u5
amd64 사용하기 쉬운 클라이언트 URL 전송 라이브러리(OpenSSL 스타일)

ii libcurl3-gnutls:amd64 7.38.0-4+deb8u5
amd64 사용하기 쉬운 클라이언트 URL 전송 라이브러리(GnuTLS 스타일)

ii libcurl4-openssl-dev:amd64 7.38.0-4+deb8u5
amd64 libcurl용 개발 파일 및 문서(OpenSSL 스타일)

고쳐 쓰다: 오류는 openssl을 지원하는 FTP와 관련되어 있습니다.

./configure --with-openssl --enable-ftp

만들다

ext/openssl/openssl.o: In function `zm_startup_openssl':
/usr/src/php-5.2.17/ext/openssl/openssl.c:681: undefined reference to `SSL_library_init'
...
collect2: error: ld returned 1 exit status
Makefile:228: recipe for target 'sapi/cli/php' failed
make: *** [sapi/cli/php] Error 1

답변1

문제는 openssl입니다. 저는 openssl 0.9.8을 설치했습니다.원천:

/usr/src오류로 인해 매뉴얼 페이지 없이 컴파일하고 설치하십시오.

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl no-asm -fPIC

만들다

Install_sw

그런 다음 php이 옵션을 사용하여 컴파일합니다.

./configure --with-openssl=/usr/local/openssl --with-openssl-dir=/usr/local/openssl --with-curl --enable-ftp --with-ldap --with-apxs2 - -enable-bcmath --with-bz2 --enable-calendar --enable-exif --enable-mbstring --with-mhash --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg - -enable-zip --with-zlib

만들다

고쳐 쓰다:5.6.28에서도 작동합니다.

관련 정보