【问题标题】:How do I install the ext-curl extension with PHP 7?如何使用 PHP 7 安装 ext-curl 扩展?
【发布时间】:2023-03-26 01:00:01
【问题描述】:

我已经使用 this repo 安装了 PHP 7,但是当我尝试运行 composer install 时,它给出了这个错误:

  • [package] 需要 ext-curl * -> 您的系统中缺少请求的 PHP 扩展 curl。

使用 PHP 5,您可以通过运行 yumapt-get install php5-curl 命令轻松安装它,但我找不到如何安装 PHP 7 等效版本。

如何为 PHP 7 安装 ext-curl?

【问题讨论】:

  • 先安装 libcurl 即。 yum install libcurl or apt-get install libcurl。之后使用 curl ./configure --with-curl 配置您的 php 7,最后制作并安装
  • @Haridarshan 是的,但这很不方便
  • 我已经构建并安装了带有 curl 和其他扩展的 php 7。您可能还需要安装开发库。

标签: php curl php-7


【解决方案1】:
sudo apt-get install php7.0-curl

【讨论】:

  • 如果您没有明确需要,则不应指定版本号。否则您可能会意外安装旧版本。
  • 不鼓励使用纯代码和“试试这个”的答案。我很惊讶你花了这么长时间才得到一个反对票。
  • 就我而言,我必须指定版本才能使其工作。我想这是因为我的系统中安装了多个版本。
  • 如果从 PHP 5.5/5.6 升级似乎需要指定版本号。
  • 不得不另外做sudo apt install curl有人知道为什么会这样吗?
【解决方案2】:

我们可以安装我们在安装 Magento 时需要的任何 PHP7 扩展,只需使用在安装 Magento 时出现错误的相关命令

sudo apt-get install php7.0-curl
sudo apt-get install php7.0-dom
sudo apt-get install php7.0-mcrypt
sudo apt-get install php7.0-simplexml
sudo apt-get install php7.0-spl
sudo apt-get install php7.0-xsl
sudo apt-get install php7.0-intl
sudo apt-get install php7.0-mbstring
sudo apt-get install php7.0-ctype
sudo apt-get install php7.0-hash
sudo apt-get install php7.0-openssl
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-xmlwriter
sudo apt-get install php7.0-gd
sudo apt-get install php7.0-iconv

【讨论】:

  • 你的回答没有任何价值。
  • 您的回答不包含任何新信息。请查看其他答案。
  • 这是一个很好的答案,因为寻找 curl 的人可能会想到下一个关于 mcrypt 的问题。以此类推,所以把所有东西都放在那里是非常有用的。
  • 为什么这些扩展突然不见了?如何使用 PHP.ini 在独立的 Windows 中安装它们?
【解决方案3】:

如果您在sudo apt-get install php-curl 时遇到 404 或错误,请尝试

sudo apt-get update

再试一次

sudo apt-get install php-curl

但请注意安装的是什么版本(我使用的是 php7.3 并且安装了 php7.4-curl - 所以它不起作用)

然后试试

sudo apt-get install php7.3-curl

最后你可能想要重启服务,比如:apache2 或 php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

这对我有用。

检查 curl 是否在当前 php 的已安装模块列表中:

php -m

【讨论】:

    【解决方案4】:

    首先登录到您的服务器并检查您服务器上安装的 PHP 版本。

    然后运行以下命令:

    sudo apt-get install php7.2-curl
    
    sudo service apache2 restart
    

    将 PHP 版本 ( php7.2 ) 替换为您的 PHP 版本。

    【讨论】:

      【解决方案5】:

      WAMP 上安装WebMail Lite 8 时出现错误,提示缺少CURL 扩展(Windows 上也是如此)。

      reading that libeay32.dll was required 仅存在于某些 PHP 安装文件夹(例如 7.1.26)之后,我在 WAMP PHP 版本菜单中将正在使用的 PHP 版本从 7.2.14 切换到 7.1.26,然后错误消失了。

      【讨论】:

      • 我也必须这样做才能让 CURL 工作。 (我尝试将 libeay32.dll 从版本 7.0.10 复制到 7.3.8 文件夹中,但没有成功。)不确定为什么新的 php 7.3.8 安装中缺少此库文件。
      【解决方案6】:

      Windows 用户:

      注意:Win32 用户注意事项 为了在 Windows 上启用此模块 环境、libeay32.dll 和 ssleay32.dll,或者从 OpenSSL 1.1 开始 libcrypto-.dll 和 libssl-.dll,必须存在于您的 PATH 中。还 libssh2.dll 必须存在于您的 PATH 中。你不需要 libcurl.dll 来自 cURL 网站。

      https://www.php.net/manual/en/curl.installation.php

      将你的 C:\wamp\bin\php\php7.1.15 添加到你的路径

      重启所有服务

      【讨论】:

        【解决方案7】:

        如果您使用的是 PHP7.1(请尝试php -version 查找您的 PHP 版本)

        sudo apt-get install php7.1-curl
        

        然后重启apache

        sudo service apache2 restart
        

        【讨论】:

        • 我更喜欢这个答案,因为它指定了版本号。接受的答案不是很准确。
        【解决方案8】:

        我尝试了上述解决方案,但它对我不起作用,只是以防万一有其他人在同一双鞋中,这就是我所做的。 我用以下命令更新了 apt-get

        sudo add-apt-repository ppa:ondrej/php
        

        这是我用 php curl 为我使用的 php 版本安装的,我的是

        sudo apt-get install php7.1-curl
        

        【讨论】:

        • 其他答案让我得出了完全相同的结论。假设现在是正确的,其他答案在他们自己的时代是正确的。我将验证这适用于 Ubuntu 18.04、Apache 2。这比尝试加载 PHP7.2 版本的简单“php-curl”更可取,(对我而言)我想继续使用 7.1。不要忘记重新启动网络服务器。在此之后,phpinfo() 用于在模块作者部分 (Sterling Hughes) 下显示 cURL,现在 cURL 有它自己的非常详细的部分,目前为 7.58.0。
        • 你才是真正的英雄
        • 这应该是公认的答案。更多投票的答案对我没有帮助。
        【解决方案9】:

        好吧,我可以通过以下方式安装它:

        sudo apt-get install php-curl
        

        在我的系统上。这会安装一个依赖包,依赖于默认的php版本。

        之后重启apache

        sudo service apache2 restart
        

        【讨论】:

        • ..并重新启动服务。 sudo service apache2 重启
        • 仅当您使用 apache 网络服务器版本时。你当然不需要为 CLI 版本重新启动 apache
        • 类似 gd2、xmlrpc、soap 等 - 所有小写字母后缀都有效
        • 不是 sudo service apache2 restart,而是 sudo service apache2 reload
        • 这实际上取决于 APT 源中可用的包。首先,使用apt-get update 更新 APT 包。然后输入apt-get install php 并按两次Tab。它将要求确认显示整个列表,如Display all n possibilities? (y or n):,其中 N 是可用的可能性数量。按 Y,您将获得一长串可用软件包,您可以从中找到所需的软件包名称。当然,如果你的清单很长,这会有点乏味。但是您仍然可以根据版本缩小范围。
        【解决方案10】:

        如果“sudo apt-get install php-curl”命令不起作用并显示错误 我们应该在安装 curl 之前运行这段代码。

        • 第 1 步 - sudo add-apt-repository ppa:ondrej/php
        • 第 2 步 - sudo apt-get 更新
        • 第三步 - sudo apt-get install php-curl
        • 第 4 步 - sudo service apache2 重启

        【讨论】:

        • 我不知道为什么人们不赞成这个,试一试,它可能会起作用。
        • 是的,它有效。顺便说一句,在第 3 步中,您实际上可以选择特定的 php 版本。
        • 有时它需要指定你的 php.ini 版本。例如:step3 sudo apt-get install php7.1-curl p.s.你把我从漫漫长夜中拯救出来!
        【解决方案11】:

        如果您收到E: Unable to locate package {packageName},请尝试一下

        sudo add-apt-repository main
        sudo add-apt-repository universe
        sudo add-apt-repository restricted
        sudo add-apt-repository multiverse
        sudo add-apt-repository ppa:ondrej/php
        sudo apt-get update
        sudo apt-get install php-curl
        

        【讨论】:

        • 如此多的反对票,就像回答 Bijaya Kumar Oli 一样,它是有效的解决方案!
        【解决方案12】:

        安装php70w-common

        它提供php-api、php-bz2、php-calendar、php-ctype、php-curl、php-date、php-exif、php-fileinfo、php-filter、php-ftp、php- gettext、php-gmp、php-hash、php-iconv、php-json、php-libxml、php-openssl、php-pcre、php-pecl-Fileinfo、php-pecl-phar、php-pecl-zip、php-反射、php-session、php-shmop、php-simplexml、php-sockets、php-spl、php-tokenizer、php-zend-abi、php-zip、php-zlib

        https://webtatic.com/packages/php70/

        【讨论】:

        • 安装 'php-curl' 就足够了 :-)
        猜你喜欢
        • 2020-05-09
        • 2018-06-08
        • 1970-01-01
        • 1970-01-01
        • 2018-04-07
        • 1970-01-01
        • 2016-03-21
        • 2018-10-25
        • 2016-12-30
        相关资源
        最近更新 更多