Php

php:在 debian gnu/linux 中使用 openssl、ftp、ldap、curl 支持進行編譯

  • December 12, 2016

我正在嘗試在 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: 錯誤添加符號:命令行collect2中缺少DSO:錯誤:ld返回1退出狀態Makefile:241:目標’sapi/cli/php’的配方失敗

dpkg -l | grep 打開ssl

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 安全套接字層工具包 - 加密實用程序

dpkg -l | grep 捲曲

ii curl 7.38.0-4+deb8u5

amd64 命令行工具,用於使用 URL 語法傳輸數據

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

問題是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

引用自:https://unix.stackexchange.com/questions/327035