以下代码适用于 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