【发布时间】: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?