【问题标题】:PHP 5.5 cURL not working on Windows 7 64 bit PHP 5.5 VC11PHP 5.5 cURL 在 Windows 7 64 位 PHP 5.5 VC11 上不起作用
【发布时间】:2014-11-12 08:33:33
【问题描述】:

我无法让 CURL 扩展在 Win7 64 位上的 PHP 5.5 ts-VC11 上运行。提供的 php_curl.dll 加载但不执行任何操作(不将自身注册为 curl 扩展)而不会引发任何错误。

我知道有一个 solution 可以在 PHP 5.3 和 5.4 Windows 64 位上运行已修补的php_curl.dll,但我必须使用 PHP 5.5 64 位,但我找不到适用的 CURL 扩展。

有解决办法吗?

【问题讨论】:

  • 一种解决方案是使用 32 位版本的 WAMP。毕竟,Windows 环境中的 64 位 PHP 在 PHP 网站上仍被标记为 Experimental。

标签: php curl wamp


【解决方案1】:

在 2.5 之前的 WAMPServer 版本中:

您需要做的就是将 libeay32.dll 和 libssl32.dll 从 PHP \wamp\bin\php\{phpversion}文件夹复制到 \wamp\bin\apache\{apacheversion}\bin 文件夹。

如果您使用的是 WAMPServer 2.5,您甚至不需要这样做,因为 SYMLINKS 应该会自动为您创建。如果符号链接不存在,那么只需执行以下操作即可创建它们:-

wampmanager -> Apache -> Version ( and click on the version number you are using )

使用 WAMPServer 将任何内容放入 \windows\ 文件夹结构是非常糟糕的做法,因为当/如果您决定在 Apache 和/或 PHP 版本之间切换时,这会导致问题。

【讨论】:

    【解决方案2】:

    它现在可以与原始 php_curl.dll 一起使用。这个问题似乎是 ssleay dll 中的冲突。仅将 PHP 添加到 PATH 并不能解决问题,但是将 libeay32.dll 和 ssleay32.dll 复制到 C:\Windows\System32 可以(注意 - 在 WAMP 上,最好将它们复制到 Apache bin 文件夹中)。

    【讨论】:

    • 您实际上不需要将它们放在这些目录中的任何一个中。您需要做的就是将 libeay32.dll 和 libssl32.dll 从 PHP 文件夹复制到 Apache\bin 文件夹。
    • 我这样做是因为我的 apache\bin 文件夹已经有这些 DLL 的更新版本,所以我不想覆盖那些。但当然它也可能对你有用(我只需要在 Windows 上进行本地开发,而不是 WAMP)。
    • 好的,但即使您没有专门使用 WAMPServer,这同样适用。如果您的 Apache 文件夹已经有较新的版本,它们是从哪里来的。我可以假设您至少有 2 个版本的 PHP 可供您使用吗?
    • 他们附带了来自 apachelounge 的 Apache 2.4.10 Win64 包。
    • 是的,但是它的 PHP 正在使用这些文件,应该使用来自 PHP 交付的文件
    猜你喜欢
    • 2012-06-11
    • 2017-06-08
    • 1970-01-01
    • 2014-03-31
    • 2017-03-17
    • 2013-07-12
    • 1970-01-01
    • 2014-11-14
    相关资源
    最近更新 更多