【问题标题】:Broken CURL on Windows 2008 R2 ServerWindows 2008 R2 服务器上的 CURL 损坏
【发布时间】:2017-02-14 11:50:22
【问题描述】:

我最近在 Stripe.com 遇到了一个问题,他们的 API 需要 TLS 1.2。

尝试按照以下步骤在服务器上升级 OpenSSL,但之后尝试运行 curl_version() 时,我收到此错误:

调用未定义的函数 curl_version()

但是,在我尝试此更新之前,CURL 工作正常(TLS 问题除外)。

这是我遵循的过程:

我在这里下载了 OpenSSL 二进制文件:https://indy.fulgan.com/SSL/openssl-1.0.2j-x64_86-win64.zip

停止 IIS 将 libeay32.dll 和 ssleay32.dll 复制到 PHP 文件夹(旧版本所在的位置)

重新启动 IIS

我的系统是:

操作系统: Windows 2008 RS2 64 位

PHP 版本: 5.3.8

我希望我现在不需要编译 PHP 并重新安装新版本。

感谢您的帮助

谢谢。

【问题讨论】:

  • PHP curl 扩展现在可能无法加载,因为它链接到较旧的 OpenSSL 版本,因此您可能需要获取更新的 curl 版本。错误日志也可能会在 PHP 启动时显示一些 curl 相关的错误。
  • 谢谢。我去 cURL 网站下载了最新版本,但我不知道如何在服务器上更新它。
  • 我想更多的是从windows.php.net/download 获取它——不过有点忘了你使用的是旧的不受支持的版本。也许尝试从windows.php.net/downloads/releases/archives/… 的ext 目录中获取php_curl.dll,看看是否可行。否则,问题将是这些旧 DLL 与旧版本的 OpenSSL 链接,并且除非您安装更新版本的 PHP,否则将不兼容。
  • 我试过了,但遇到了各种问题。我担心更改影响其他网站的 PHP 版本我忘记了 IIS 可以安装不同版本的 PHP,所以我只安装了 PHP 5.8.26(我知道它不是最新版本),结果证明它是最简单最干净的解决方案。感谢您的帮助@drew010

标签: php curl


【解决方案1】:

经过多次尝试,我放弃了,只安装了更新版本的 PHP。我忘记了 IIS 可以安装多个版本的 PHP,所以这对我来说是最好的选择,坦率地说是最简单的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 2018-10-21
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多