【问题标题】:How do I install cURL on Windows?如何在 Windows 上安装 cURL?
【发布时间】:2010-09-15 21:58:46
【问题描述】:

我已按照此处的所有说明进行操作:http://www.tonyspencer.com/2003/10/22/curl-with-php-and-apache-on-windows/

安装和配置 apache 获取 PHP5 包 并获取 CURL 包。

我运行 apache 并运行 PHP 脚本。没问题。 但是当我用 curl 运行 php 脚本时,它失败了。

返回:**Call to undefined function curl_version() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testing.php on line 5**

在第 5 行调用curl_init()

我输出 php -i 看看是否调用了正确的扩展路径。设置正确:

extension_dir => C:\PHP\ext => C:\PHP\ext
cURL support => enabled
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8g zlib/1.2.3

我什至尝试运行curl_version(),但仍然出现同样的错误。
看起来 PHP 找不到 CURL 扩展,但 php.ini(还有 php -i)表明它已设置。

有什么想法吗? :)

P.S>  System I m running on:
Windows XP
Apache 2.2
PHP 5.2.6
CURL Win32 Generic Binaries: Win32 2000/XP  metalink    7.19.0  binary  SSL enabled     Daniel Stenberg     249 KB

我没听懂:

Win32 2000/XP   7.19.0  libcurl     SSL enabled     Günter Knauf    1.55 MB
Should I get this one instead?

我需要使用 CURL 的原因是它是我项目的要求。所以,我只能坚持下去。 XAMPP...它在 Windows 中是如何工作的?有什么网站可以推荐吗?谢谢。

我在安装 cURL 并检查了所有内容时尝试了很多东西,但我仍然在围绕问题盘旋,不知道发生了什么。

Apache 服务器使用正确的 PHP.ini。并且 PHP.ini 具有正确的 extension_dir 和 extension=php_curl.dll 我不知道为什么它不起作用。即使我按照每一步进行设置。 :(

【问题讨论】:

  • 假设人们在 2012 年仍然有这个问题(就像我一样)我会发布一些更新。 Apache(当前版本 2.2.21)现在发布了 2 个不同的版本,这使得启用 curl 更加容易。您需要的 apache 版本是支持 SSL 的版本。安装它,然后像以前一样安装 php。在 php.ini 中,取消注释 ;extension=php_curl.dll 如果你还没有注释,你就可以开始了。无需下载任何其他内容。
  • 读者可能会发现这对 Windows x64 很有用。 stackoverflow.com/questions/25044010/…

标签: php windows curl windows-xp installation


【解决方案1】:

使用以下步骤安装 curl:

  1. 在浏览器中打开https://curl.haxx.se/dlwiz?type=bin

  2. 在下拉框中选择您的操作系统:Windows /Win32 或 Win 64。单击选择!

  3. 对于 Win 32,选择是在 Windows 命令提示符(通用)还是在 Cygwin 终端 (cygwin) 中使用 curl。对于 Win 64,选择是在 Windows 命令提示符(通用)还是 MinGW (MinGW64) 中使用 curl。点击选择!

  4. 如果需要,请选择您的 Windows 操作系统。完成。

  5. 点击下载查看启用或禁用 SSL 的版本

  6. 打开下载的 zip 文件。将文件解压缩到易于查找的位置,例如 C:\Program Files。

测试卷曲

  1. 打开 Windows 命令提示符终端。 (从“开始”菜单中,单击“运行”,然后键入 cmd。)

  2. 设置路径以包含放置 curl.exe 的目录。例如,如果您将它放在 C:\Program Files\curl 中,那么您将键入以下命令: 设置路径=%path%;"c:\Program Files\curl"

注意:您也可以直接将 curl.exe 文件复制到路径中的任何现有路径

  1. 键入 curl。 您应该看到以下消息: curl:尝试“curl –help”或“curl –message”以获取更多信息 这意味着安装了curl并且路径是正确的。

【讨论】:

  • 最佳答案 imo。它对新手很友好,但我不明白“注意”部分
  • @Simon_eQ:所以数字 2 表示“设置路径以包含放置 curl.exe 的目录”。我的意思是,如果您已经将其复制到之前已在“路径”中定义的现有路径,则无需使用“set path=%path%;”c:\Program Files\ curl”。希望现在更清楚。谢谢!
  • 谢谢,对于只想使用它又不想与之抗争的初学者来说,这是一个很好的答案!
  • 为什么这没有被标记为答案?谢谢@curiousBoy。非常适合刚接触 cURL 的 Windows 开发人员!
  • 适用于将 cURL 与 PHP 一起使用的任何人。将 cUrl 文件路径添加到系统变量组中的 Windows 环境路径。将 PHP 文件路径添加到 Windows 环境。路径也是。
【解决方案2】:

您可能弄错了需要编辑的 PHP.ini。首先,添加一个 PHPinfo();到 info.php,然后从浏览器运行它。

写下您现在在变量列表中看到的 PHP ini 目录路径! 您可能会注意到它与您的 PHP-CLI ini 文件不同。

启用扩展

你已经完成了:-)

【讨论】:

  • 我在使用 xampp 安装程序包时遇到了这个问题。至少可以说,它的目录树结构令人困惑。您摆弄的 php 文件夹很少是正确的。 phpinfo() 是一个很棒的故障排除工具。 + 1 表示这个答案,- 1 表示设计 xampp 的树结构的人(我猜这是本例中的罪魁祸首)。
  • 是否需要在 apache 中配置任何东西
【解决方案3】:

我正在使用 XAMPP,其中有几个 php.ini 文件。

您可以在 php.ini 文件中找到该行: ;extension=php_curl.dll

请删除此行开头的;。您可能需要重新启动 apache 服务器。

【讨论】:

  • +1 同时在 php.ini 中启用 curl.cainfo。例如。 curl.cainfo = "C:\Apache24\curl-7.64.0-win64-mingw\bin\curl-ca-bundle.crt"
【解决方案4】:

我也有这个问题。在正确完成所有这些步骤并解决了一些误解之后(没有 extensions_dir 而是 extension_dir,没有 session.save_path 而是 session.save_path),没有任何效果。

最后我在 php.net 上找到了这个注释:

注意:Win32 用户注意: 为了在 Windows 环境中启用此模块,您的 PATH 中必须存在 libeay32.dll 和 ssleay32.dll。您不需要 cURL 站点中的 libcurl.dll。

所以我将 ssleay32.dll、libeay32.dll 和 php_curl.dll 从 /PHP 复制到 Windows/system32 并替换了现有文件(我注意到有旧版本的 ssleay32.dll 和 libeay32.dll)。之后我在 php_info(); 中找到了 CURL 部分。最后一切正常。

祝你好运!

【讨论】:

  • 除非您使用的是 2004 年或更早的计算机(截至 2021 年没有商业原因),否则没有理由使用 RAM 受限的 32 位操作系统。这个答案是在 x64 普遍可用后 八年 发布的。
【解决方案5】:

其他遇到此问题的人的另一个答案

当您取消注释扩展线时,将其更改为:

extension=C:/php/ext/php_curl.dll

或扩展文件夹的位置,对我来说,在我这样做之前它不起作用

【讨论】:

  • 这些都不适合我!我的系统 PATH 中有 "C:\php" 和 C:\php\ext" 并取消了 php.ini 中相应行的注释,但仍然出现这个令人愤怒的错误!为什么学习使用 PHP 这么难? !?!?! 我在尝试安装 openssl 时遇到了类似的 PATH 和 libeay32.dll 问题,经过 3 小时的努力终于让它工作了,现在这个废话!
【解决方案6】:

我最近在 PHP5 for Windows Vista 上安装了 Curl。我在最初安装 PHP5 时not 启用了 CURL 库,因此在 phpinfo() 或 php.ini 中没有显示任何关于 Curl 的内容。

我通过重新运行 PHP5 安装程序(对我来说是 php-5.2.8-win32-installer.msi)并选择“更改”来安装 CURL。然后,我添加了 CURL 组件。重新启动 Apache,CURL 应该可以工作。 CURL 将显示在 phpinfo() 中。此外,这是一个示例脚本,您可以运行它来验证它是否有效。它显示来自 Google 的 RSS 提要:

    <?php
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,
    'http://news.google.com/news?hl=en&topic=t&output=rss');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $contents = curl_exec ($ch);
    echo $contents;
    curl_close ($ch);
    ?>

【讨论】:

    【解决方案7】:

    注意:Win32 用户注意事项 为了在 Windows 环境中启用此模块 (cURL),您的 PATH 中必须存在 libeay32.dll 和 ssleay32.dll。您不需要 cURL 站点中的 libcurl.dll。

    这篇笔记解决了我的问题。想到分享。 libeay32.dll 和 ssleay.dll 你会在你的 php 安装文件夹中找到。

    【讨论】:

      【解决方案8】:

      我同意 Erroid,你必须将 PHP 目录添加到 PATH 环境中。

      PATH=%PATH%;<Your_PHP_Path>
      

      例子

      PATH=%PATH%;C:\php
      

      它对我有用。谢谢。

      【讨论】:

      • 操作系统必须经常刷新,而软件将继续在这些安装中运行 - 因此正确配置您的 php.ini 文件会使 很多 更有意义。
      【解决方案9】:

      你可以在http://www.apachefriends.org/en/xampp.html找到XAMPP

      http://www.apachefriends.org/en/xampp-windows.html 解释了适用于 Windows 的 XMAPP。

      是的,安装后有3个php.ini文件,一个是php4的,一个是php5的,一个是apache的。请相应地修改它们。

      【讨论】:

        【解决方案10】:

        我解决了这个问题。

        在我的 apache 中,我必须指定:

        PHPIniDir "C://php" AddType application/x-httpd-php .php

        对于 php.ini,不要使用 php.ini_recommend,而是使用 php.ini_dist 来配置我的 php.ini。

        然后确保 php 引擎已打开。 然后它现在可以工作了。谢谢大家。

        【讨论】:

          【解决方案11】:

          您可以从这里使用 curl .download 文件的二进制文件: http://www.paehl.com/open_source/?CURL_7.22.0 下载文件并解压后放入任何驱动器并将绝对路径设置到环境中,现在您也可以在 Windows 中使用 curl 作为命令。喜欢 c:\curl -u user@example.com:密码http://localhost:3000/user/sign_in

          【讨论】:

            【解决方案12】:

            您也可以使用CygWin 并安装 cURL 包。它工作得很好,完美无瑕!!

            【讨论】:

              【解决方案13】:

              我已经尝试了所有方法 - 但没有任何帮助。搜索了几个小时后,我找到了以下信息:

              Apache 2.4.18 出于某种原因不加载 php 7.2 curl。我更新了我的 Apache 到 2.4.29 和 curl 立即加载

              http://forum.wampserver.com/read.php?2,149346,149348

              我应该说什么:我更新了 Apache,curl 运行起来很迷人

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-10-26
                • 2011-04-08
                • 1970-01-01
                • 2013-07-25
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多