【问题标题】:OpenSSL in php and curl not update after upgrading OpenSSL in linux在 linux 中升级 OpenSSL 后,php 中的 OpenSSL 和 curl 没有更新
【发布时间】:2016-11-14 09:10:21
【问题描述】:

我的 PHP 程序在几天前运行良好。在我的 php 程序中使用 curl 时突然出现错误“SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败”。我在网上搜索,发现可能是因为我的openssl太旧(0.9.8e),不支持TLS。

我尝试了“yum update openssl”,但它没有帮助,因为 Openssl 尚未升级并且仍然是 0.9.8e。所以,我从网上下载并安装了一个较新的版本(1.0.2j)。现在,它确实通过命令“openssl version”显示新版本号,但它仍然通过 phpinfo() 和“curl -V”显示旧版本号。当然,它在运行 php 程序时仍然显示 SSL 错误。

我是服务器设置的新手。如何在 php 和 curl 中更新 openssl 版本?

【问题讨论】:

  • 服务器问题不是编程问题。
  • 您必须重新编译所有依赖于旧 SSL 版本的二进制文件。更新服务器可能更简单,因为考虑到 OpenSSL 的使用时间,软件的其余部分可能也一样旧,也可能不受支持。
  • 更新服务器对我来说似乎不是一个选择。如何重新编译 php 和 curl?

标签: php ssl curl redhat


【解决方案1】:

你必须更新php本身,因为它带有编译的ssl。系统上的libssl不被php使用。它也可能被封装在 php-curl 包中。

【讨论】:

  • 我已经将 php 从 5.4 升级到 5.5,但是 phpinfo() 中显示的 openssl 版本和 curl 的 SSL 版本仍然没有改变。如何更新 php-curl 包?
【解决方案2】:

我终于通过“下载并安装”最新版本的OpenSSL、cUrl和PHP,并为PHP的OpenSSL和cUrl的新路径设置配置解决了这个问题。

【讨论】:

    猜你喜欢
    • 2016-08-02
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 2019-03-11
    • 1970-01-01
    相关资源
    最近更新 更多