【问题标题】:Enabling CURL with PHP 5.6 on Windows 8在 Windows 8 上使用 PHP 5.6 启用 CURL
【发布时间】:2015-08-13 02:23:47
【问题描述】:

我在我的 Windows 8 计算机上安装了 Apache 2.4.12 和 php 5.6.9,我正在尝试为 php 启用 curl 扩展,但是我没有取得太大的成功。在互联网上搜索此问题后,似乎其他人也遇到了同样的问题。以下是我找到的建议:

  • 在 php.ini 中取消注释 ;extension=php_curl.dll
  • 在 php.ini 中取消注释 ;extension_dir = "ext"
  • 下载php的ext目录下的php_curl.dll文件替换为this网站的文件
  • 添加到安装php的PATH环境变量中
  • 将安装php的libeay32.dll和ssleay32.dll复制到C:\Windows\System32

除了列表中的第三项之外,我已经尝试了每一个建议,但都没有成功,因为它没有用于 php 5.6 的 curl 的 .dll 文件,实际上可用的最高版本是 php 5.4 的。必须有办法启用此扩展,而不必将我的 php 版本降级到 5.4 并使用该网站上的 .dll 文件。我尝试在互联网上搜索 .dll 文件,例如链接网站上的 php 5.6 文件,而不是过时的 php 版本,但我没有找到一个,所以我想帮助解决这个问题。

如何在我的 Windows 8 机器上为 php 5.6 启用 curl?

【问题讨论】:

  • 你是用什么在 windows 上启用 curl 的?
  • 您是否尝试使用相同版本的 PHP(即 Xampp 的 C:\htdocs\php\ext\php_curl.dll)从即用型 WAMP(如 Xampp、Wamp 等)中复制 php_curl.dll? FIY,extension_dir = "ext" 是您拥有所有 PHP 扩展的目录。
  • @MatthieuBoisjoli 我不太清楚你的意思。我没有将 php 作为服务安装,所以我一直在按 CTR-C 并通过在终端中键入 httpd.exe 再次启动 Apache。我一直在通过调用 curl_init(); 来测试它是否工作。函数来查看是否有任何错误。
  • @IvanGabriele 我下载并安装了适用于 php 5.6.8 的最新版本的 Xampp,并替换了我的 php 安装的 ext 目录中的 php_curl.dll,但这也不起作用。会不会是我使用的是 php 5.6.9 但来自 Xampp 的 .dll 文件适用于 php 5.6.8?
  • 是的,通常你必须尊重确切的版本。但是你真的尝试过官方的 PHP 安装在 Windows 上的扩展:php.net/manual/en/install.windows.extensions.php 吗?

标签: php windows curl


【解决方案1】:

使用本地系统以外的特定用户运行 apache 服务为我解决了这个问题。您可以通过停止 apache 服务并手动运行 <apache dir>\bin\httpd.exe 来轻松测试。

【讨论】:

  • 实际上这是由于在您的用户而不是系统配置文件上设置了您的 %PATH% 变量。通过将它们移动到系统路径中,它将解决此问题。
【解决方案2】:

除了取消注释该行

;extension_dir = "ext"

也尝试将其设置为 PHP 安装的 ext 文件夹的绝对路径,然后重新启动 apache。

例如:

extension_dir = "C:\PHP 5.6.19\ext"

【讨论】:

    【解决方案3】:

    我通过将C:\phpC:\php\ext 添加到PATH 系统变量来解决此问题。

    1. window + pause 调出系统属性页面。
    2. 点击高级系统设置
    3. 点击环境变量

    您将在底部的系统变量框中看到Path 变量。 将您的 PHP 路径附加到该变量。现在系统将能够加载扩展。

    【讨论】:

      【解决方案4】:

      找到您的 php 文件夹并按照以下说明操作:

      1. 移动到 Windows\system32 文件夹:

        libssh2.dll、php_curl.dll、ssleay32.dll、libeay32.dll

      2. 移动到 Apache24\bin 文件夹

        libssh2.dll

      3. 取消注释 extension=php_curl.dll

      注意:提示时不要覆盖。

      Source

      【讨论】:

      • 对我来说,我只需将 libssh2.dll 复制到 Apache24\bin 文件夹就可以了。
      • 谢谢!在 Wampserver 2.4 和 PHP 5.6.25 上,将 libssh2.dll 复制到 Apache 文件夹也对我有用。
      【解决方案5】:

      我给你一个非常适合我的设置示例:

      1. 下载了VC11 x86 Thread Safe version of PHP
      2. 将其解压到C:\php目录中,
      3. 编辑了php.ini-development,取消注释2行:
        • extension=php_curl.dll
        • extension_dir = "ext"
      4. 将此文件保存在php.ini下。

      我刚刚通过 CLI(此处为 windows CMD)在 PHP 文件(即C:\php\php myFile.php)上对其进行了测试,并且 cURL 有效。

      如果您安装了 Apache 并希望在浏览器中对其进行测试,那么显然您必须使用自己的文件结构来调整此安装,并且不要忘记重新启动 Apache。

      【讨论】:

        猜你喜欢
        • 2015-12-06
        • 2012-06-26
        • 2015-03-02
        • 2015-01-19
        • 2017-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-25
        相关资源
        最近更新 更多