【发布时间】:2021-05-14 08:43:45
【问题描述】:
我想用“我是个白痴”作为这个问题的开头,但我真的需要一些帮助。
我有一个由 GoDaddy 托管的 PHP 站点。在过去的几年里,我一直在使用 file_get_contents() 将一个简单的 XML 页面读入我网站的 mySQL 数据库中。今年 1 月,我开始收到以下警告。
警告:file_get_contents() [function.file-get-contents]:SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败
警告:file_get_contents() [function.file-get-contents]:无法启用加密
警告:file_get_contents(https://api.competitionsuite.com/2013-02/Competitions/?o=C35091BF-0F25-4C86-A5AA-C7714E38112C) [function.file-get-contents]:打开流失败
在此之前我没有该网站的 SSL 证书,因此我从 GoDaddy 购买了基本证书,希望这可以解决错误,但即使在 HTTPS 网站上我也会遇到相同的错误。
这是我的代码的 sn-p,但如果我需要提供更多信息,请告诉我。
//read XML
$url = 'https://api.competitionsuite.com/2013-02/Competitions/?o=C35091BF-0F25-4C86-A5AA-C7714E38112C';
$context = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$xml = file_get_contents($url, false, $context);
$xml = simplexml_load_string($xml);
如果有人有空闲时间,我真的可以使用一些指导。 TIA
【问题讨论】:
-
它不是你的证书。似乎另一端升级了一些东西(可能是允许的密码),而你的一端跟不上
-
这有点过头了,但是我无能为力吗?
-
你运行的是什么版本的 PHP
-
非常感谢 @RiggsFolly 让我查看 PHP 版本。我更新到 PHP 版本:5.4.19,它仍然不是最新的,但这解决了我的这个错误问题,并且没有破坏我的任何其他 php 代码。
标签: php xml ssl simplexml file-get-contents