Php RSS阅读器可以在本地主机上工作,但不能在共享主机上工作

Php RSS阅读器可以在本地主机上工作,但不能在共享主机上工作,php,rss,shared-hosting,Php,Rss,Shared Hosting,我有一个简单的PHP脚本,可以从craigslist加载RSS提要。它几个月来一直工作得很好,但几天前突然停止了数据采集。我尝试在我的本地主机上运行脚本,它正常工作。我联系了GoDaddy,他是网站的主持人,但运气不好。我尝试了另一个主机服务HostGator,但遇到了同样的问题,它无法检索数据 是什么原因导致它在共享主机帐户上突然停止工作,但在我的本地主机上仍然工作 下面是简单的PHP脚本- $rss=新文档; $rss->loadCraigslist rss源URL; $feed=数组; f

我有一个简单的PHP脚本,可以从craigslist加载RSS提要。它几个月来一直工作得很好,但几天前突然停止了数据采集。我尝试在我的本地主机上运行脚本,它正常工作。我联系了GoDaddy,他是网站的主持人,但运气不好。我尝试了另一个主机服务HostGator,但遇到了同样的问题,它无法检索数据

是什么原因导致它在共享主机帐户上突然停止工作,但在我的本地主机上仍然工作

下面是简单的PHP脚本-

$rss=新文档; $rss->loadCraigslist rss源URL; $feed=数组; foreach$rss->getElementsByTagName'item'作为$node{ $item=数组 'title'=>$node->getElementsByTagName'title'->item0->nodeValue, 'desc'=>$node->getElementsByTagName'description'->item0->nodeValue, 'link'=>$node->getElementsByTagName'link'->item0->nodeValue, 'date'=>$node->getElementsByTagName'date'->item0->nodeValue, ; 数组\推送$feed,$item; } var_dump$feed;
您的Php脚本使用DOMDocument,它需要Php xml扩展。您是否在共享主机上安装了它

我不知道为什么您的代码可以在本地主机上工作,但不能在共享主机上工作。也许craiglist服务器认为您的共享主机IP可疑


如果您的ip地址被阻止,那么您可能需要将用户代理头添加到curl请求中。这将使您的请求看起来像来自web浏览器。

您可以尝试添加var_dumpfile_get_contents'feed url'和var_dump$rss吗?var_dumpfile_get_contents'url'返回boolfalsevar_dump$rss returns-objectDOMDocument1 35{[doctype]=>NULL[implementation]=>string22对象值省略[documentElement]=>NULL[actualEncoding]=>NULL[encoding]=>NULL[xmlcodencing]=>NULL[standalone]=>booltrue[xmlStandalone]=>booltrue[version]=>string3 1.0[xmlVersion]=>string3 1.0[strigerrorchecking]=>booltrue[documentURI]=>NULL[config]=>NULL[formatOutput]=>boolfalse[validateOnParse]=>boolfalse[resolvetexternals]=>boolfalse[preserveWhiteSpace]=>booltrue[recover]=>boolfalse等。好的,这意味着你的服务器无法再访问该URL。尝试添加此代码,这将输出更多调试信息:是的,github示例让我自动阻止了lol。每当我尝试Curl时,它会自动阻止我的IPThanks,默认情况下,该扩展似乎会添加到godaddy的服务器上。这是什么它工作了几个月,然后突然就没有了。。