我的PHP程序在几天前工作正常。我突然遇到错误" SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败"从我的PHP程序中使用curl。我在网上搜索,发现可能是因为我的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版本?
答案 0 :(得分:0)
你必须更新php本身,因为它附带了编译的ssl。系统上的libssl不被php使用。它也可以封装在php-curl包中。
答案 1 :(得分:0)
我终于通过"下载和安装"来解决问题。最新版本的OpenSSL,cUrl和PHP,并为PHP的新路径设置OpenSSL和cUrl。