PHP 7.1.2编译和libcurl错误

kra*_*hek 6 php debian compilation libcurl

PHP 7.1.2在这里,我试着像往常一样编译它.这次./configure失败并出现这些错误:

在默认路径中检查cURL ...未找到
configure:error:请重新安装libcurl发行版 - easy.h应该在/ include/curl /中

我在Debian Stretch(9).

我发现libcurl4-openssl-dev安装在/ usr/include/x86_64-linux-gnu/curl when./configure expect it in/ include/curl /`

libcurl4-openssl-dev on debian Jessie在/ usr/include/curl /中安装curl时在/ usr/include/x86_64-linux-gnu/curl中进行Stretch install curl.

在我编译的最后一个PHP版本(7.1.1)中,我没有遇到任何问题,但这次失败了.

编译:

./buildconf --force && ./configure --prefix=/usr/local/php --with-config-file-path=/etc/php/lib --enable-bcmath --with-bz2 --with-zlib --enable-zip --enable-calendar --enable-exif --enable-ftp --with-gettext --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-xpm-dir --enable-mbstring --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --enable-intl --enable-soap --with-readline --with-curl --with-mcrypt --with-xsl --enable-sockets
Run Code Online (Sandbox Code Playgroud)

curllibcurl4-openssl-dev包安装

我试过--with-curl =/usr/include/x86_64-linux-gnu/curl /但它不起作用.

我不知道怎么解决这个问题,有人知道吗?

小智 5

一个临时的解决方案是在/usr/local/include/curl指向/usr/include/x86_64-linux-gnu/curl和编译PHP时创建一个sym链接--with-curl=/usr/local.

示例:来自内部或/usr/local/include用户的命令.rootsudo ln -s /usr/include/x86_64-linux-gnu/curl curl

对于搜索此问题的其他人,请替换x86_64您的架构.

我不能告诉你它是否是一个错误,或者更新libcurl4-gnutls-devlibcurl4-openssl-dev包的意外后果.您会注意到,如果您尝试编译以前版本的PHP,它们现在也会因缺少curl错误而失败,因为简单地说,新的开发包不会创建PHP期望的所需文件.

我称之为临时解决方案,因为Debian中的未来更新可能通过将符号链接或某些内容/usr/include/curl指向您的默认体系结构来修复此问题,或者PHP配置脚本可能会更新.您使用的原因--with-curl=/usr/local是PHP配置脚本需要"您指定的内容",并附加/include/curl.


GAD*_*D3R 3

您应该安装该libcurl4-gnutls-dev软件包。

该软件包提供了开发文件(即包括静态库、手册页),允许人们构建使用libcurl.

安装libcurl4-gnutls-dev

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