我需要在使用--with-curl=
curl二进制文件位于/usr/bin/curl
curl -V
给了我
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 / share / ...以及其他无关文件
更新
尝试--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/
解
PHP需要curl-devel
答案 0 :(得分:93)
这些都不允许您在启用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...
如果手动编译cURL,则可以指定不带lib
或include
后缀的文件路径。 (例如:/usr/local
如果cURL标题位于/usr/local/include/curl
)。
答案 1 :(得分:10)
适用于Ubuntu 17.0 +
在上面添加@netcoder答案, 如果您使用的是Ubuntu 17+,安装libcurl头文件只是解决方案的一半。 ubuntu 17.0+中的安装路径与旧版Ubuntu中的安装路径不同。安装libcurl后,仍然会收到“未找到cURL”错误。您需要执行一个额外的步骤(如OP评论部分中的@minhajul所建议的那样)。
在cURL安装文件夹的/ usr / include中添加符号链接(Ubuntu 17.0.4中的cURL安装路径为/ usr / include / x86_64-linux-gnu / curl)。
我的服务器运行的是Ubuntu 17.0.4,启用cURL支持的命令是
sudo apt-get install libcurl4-gnutls-dev
然后创建一个指向cURL安装的链接
cd /usr/include
sudo ln -s x86_64-linux-gnu/curl
答案 2 :(得分:2)
尝试使用--with-curl,而不指定位置,并查看它是否会自行找到它。
答案 3 :(得分:0)
如果您要编译php的 64位版本(x86_64),请使用:/usr/lib64/
对于架构(i386 ... i686),请使用/usr/lib/
我建议将php编译为与apache相同的架构。当你使用64位linux时,我认为你的apache也是为x86_64编译的。
答案 4 :(得分: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
然后,将“/ curl / install / home / include /”中的头文件复制到“/ usr / local / include”。完成上述所有步骤后,php curl扩展配置可以找到原来的curl,你可以使用标准的php扩展方法来安装php curl。
希望它可以帮助你,:))