SimpleXML 在一台主机上工作,但不能在另一台主机上工作.PHP xml 指令是正确的.为什么?



以下代码适用于 Host1

$url = "https://<redacted>";
$xml=simplexml_load_file($url);
$result = $xml->result;

在 Host2 上,使用完全相同的代码时会返回以下警告和通知:

警告:simplexml_load_file(https:(无法打开流:连接在/usr/www/users/...等。 注意:尝试在/usr/www/users 中获取非对象的属性"结果"...等。

如果我复制错误消息中显示的 url 并将其粘贴到浏览器中,它会正常工作并返回 xml 树。

在 Host2 上,启用所有 xml 指令并启用allow_url_fopen。

我无权访问服务器日志,因此无法检查它们,但站点错误日志中没有记录任何错误。

我尝试使用以下代码使用 curl:

$cl = curl_init();
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_URL, $url);
$contents = curl_exec($cl);
curl_close($cl);
if ($contents) return $contents;
else return FALSE;
print_r($contents);

但是在超时期限到期后,我从主机服务器收到"服务不可用"错误。

似乎您的主机被该网站阻止了。你用那个网址多次打电话?

检查这个:

https://stackoverflow.com/a/34505846/11426374

相关内容

  • 没有找到相关文章

最新更新