使用curl编译php,curl安装在哪里?

Hyd*_*erA 44 php linux installation curl compilation

我需要在编译php时指定一个目录 --with-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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

删除/ usr/share/...和其他不相关的文件

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/
Run Code Online (Sandbox Code Playgroud)

PHP需要curl-devel

net*_*der 100

这些都不允许您在启用cURL的情况下编译PHP.

要使用cURL进行编译,需要libcurl头文件(.h文件).它们通常在/usr/include/curl.它们通常捆绑在一个单独的开发包中.

例如,在Ubuntu中安装libcurl:

sudo apt-get install libcurl4-gnutls-dev
Run Code Online (Sandbox Code Playgroud)

或CentOS:

sudo yum install curl-devel
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

./configure --with-curl # other options...
Run Code Online (Sandbox Code Playgroud)

如果手动编译cURL,则可以指定不带libinclude后缀的文件的路径.(例如:/usr/local如果有cURL标题/usr/local/include/curl).

  • 在Ubuntu上是`sudo apt-get install libcurl4-gnutls-dev` (10认同)
  • @gAMBOOKa:在编译PHP(或任何C程序)时始终要记住,对于要编译的任何使用外部库的扩展,您需要相应的*devel*包. (3认同)

Usm*_*kat 13

对于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
Run Code Online (Sandbox Code Playgroud)

然后创建一个指向cURL安装的链接

cd /usr/include
sudo ln -s x86_64-linux-gnu/curl
Run Code Online (Sandbox Code Playgroud)

  • 这实际上解决了我在 Ubuntu 18.04 上编译 PHP-5.3.22 时遇到的问题 (2认同)