2011-02-12 91 views
36

我需要指定一個目錄與--with-curl=用curl編譯php,在哪裏安裝curl?

捲曲二進制位於/usr/bin/curl

curl -V編譯PHP的時候給我

curl 7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 

locate curl給我

/usr/bin/curl 
/usr/lib/libcurl.so.3 
/usr/lib/libcurl.so.3.0.0 
/usr/lib64/libcurl.so.3 
/usr/lib64/libcurl.so.3.0.0 

刪除在/ usr /分享/ ...等無關的文件

UPDATE

嘗試--with-curl=/usr/lib64--with-curl=/usr/lib但我敢肯定它是64位。

checking for cURL support... yes 
checking if we should use cURL for url streams... no 
checking for cURL in default path... not found 
configure: error: Please reinstall the libcurl distribution - 
    easy.h should be in <curl-dir>/include/curl/ 

SOLUTION

PHP需要捲曲devel的

+2

64位的Ubuntu 17。**後,curl被移動到/ usr/include/x86_64-linux-gnu/curl, 所以只需創建一個符號鏈接 cd/usr/include sudo ln -s x86_64-linux-gnu/curl – minhajul 2017-05-14 14:59:26

+0

@minhajul的評論是解決方案我// – digitalextremist 2017-12-25 05:50:00

回答

83

這些都不允許您在啓用cURL的情況下編譯PHP。

爲了使用cURL進行編譯,您需要libcurl頭文件(.h文件)。它們通常在/usr/include/curl中找到。它們通常捆綁在一個單獨的開發包中。

每例如,要安裝在Ubuntu的libcurl:

sudo apt-get install libcurl4-gnutls-dev 

或者CentOS的:

sudo yum install curl-devel 

然後,你可以這樣做:

./configure --with-curl # other options... 

如果你手動編譯捲曲,你可以指定文件的路徑,而不使用libinclude後綴。 (例如:/usr/local,如果cURL頭文件在/usr/local/include/curl中)。

0

如果你要編譯PHP中使用的64位版本下(x86_64):/usr/lib64/

對於架構( i386 ... i686)使用/usr/lib/

我建議將php編譯爲與apache相同的體系結構。當你使用64位的linux時,你的apache也是爲x86_64編譯的。

+0

Ap疼痛編譯爲X86_64,我的centOS安裝也是如此。由於curl與它一起安裝,我猜curl也是64位。 – HyderA 2011-02-12 07:58:35

+0

是的,捲曲可執行文件是64位,但它也安裝了庫(*。so文件)的32位版本,所以32位應用程序也可以鏈接到捲曲庫。 – 2011-02-12 08:15:37

2

試試--with-curl,不指定位置,看它是否會自己找到它。

0

php curl lib只是cUrl的一個包裝,所以,首先,你應該安裝cUrl。 將cUrl源代碼下載到您的linux服務器上。然後,使用如下命令來安裝:

tar zxvf cUrl_src_taz 
cd cUrl_src_taz 
./configure --prefix=/curl/install/home 
make 
make test (optional) 
make install 
ln -s /curl/install/home/bin/curl-config /usr/bin/curl-config 

然後,在複製文件頭「/曲/安裝/家庭/包括/」到「在/ usr /本地/包括」。完成上述所有步驟後,php curl擴展配置可以找到原始捲曲,並且您可以使用標準php擴展方法來安裝php curl。
希望它可以幫助你,:)

2

的Ubuntu 17.0 +

添加到@netcoder上面的回答, 如果您在使用Ubuntu 17+,安裝libcurl的頭文件是一半因爲安裝路徑與舊版Ubuntu版本中的安裝路徑不同。 cURL仍然不會被找到。

簡單的修復方法是轉到新的安裝路徑,並在OP註釋部分的@minhajul建議的/ usr文件夾中創建鏈接。

我的服務器在運行Ubuntu 17.0.4,命令,使捲曲的支持是

sudo apt-get install libcurl4-gnutls-dev 

然後創建一個鏈接捲曲安裝

cd /usr/include 
sudo ln -s x86_64-linux-gnu/curl