1

simplexml_load_file()用来抓取 RSS 提要的内容:

$rss = simplexml_load_file('http://www.iolproperty.co.za/roller/news/feed/entries/rss');

这在我的本地服务器上按预期工作,但在部署到我客户的生产服务器时静默失败,返回空结果。

phpinfo()函数表示启用了 SimpleXML 支持,并且似乎允许我访问远程文件(cURL 函数工作得很好)。我也尝试过加载不同的 RSS 提要。同样,它们在本地工作,但在部署时返回空。

4

3 回答 3

5

simplexml_load_file如果要加载外部文件,需要启用该allow_url_fopen指令。php.iniCurl 函数不需要这个指令,所以它适合你。

于 2012-12-05T09:25:22.850 回答
1

生产服务器可能会阻止传出 Internet 请求以防止滥用。另一个原因可能是它的 PHP 版本不同或配置中未包含某些模块。使用错误报告查看错误消息

error_reporting(E_ALL);

//更新

您还可以检查是否从服务器返回值,例如

$c = implode('', file('http://www.iolproperty.co.za/roller/news/feed/entries/rss'));
print $c;
$rss = simplexml_load_string($c);

并检查其他人在说什么,检查是否allow_url_fopen启用了选项

于 2012-12-05T09:25:28.900 回答
1

您必须启用allow_url_fopen 选项才能工作。

于 2012-12-05T09:27:09.240 回答