Php 在同一服务器上使用文件获取内容或卷曲到url

Php 在同一服务器上使用文件获取内容或卷曲到url,php,rss,curl,file-get-contents,Php,Rss,Curl,File Get Contents,我有一个PHP脚本,需要处理同一个站点的RSS提要。具体来说,我将在主页上显示WordPress RSS源中的最新博客。在我们的登台服务器上,它工作得很好,但在我们的实时(这是一个完全不同的LAMP)托管环境中,它不工作 我可以在远程url上运行file\u get\u contents或curl,但当我尝试检索我们自己的RSS提要时,返回一个404未找到页面。另一个奇怪的是,如果我尝试文件获取内容(http://domain.com/test.txt)404失败,但如果我执行文件\u获取\u内

我有一个PHP脚本,需要处理同一个站点的RSS提要。具体来说,我将在主页上显示WordPress RSS源中的最新博客。在我们的登台服务器上,它工作得很好,但在我们的实时(这是一个完全不同的LAMP)托管环境中,它不工作

我可以在远程url上运行
file\u get\u contents
curl
,但当我尝试检索我们自己的RSS提要时,返回一个404未找到页面。另一个奇怪的是,如果我尝试
文件获取内容(http://domain.com/test.txt)
404失败,但如果我执行
文件\u获取\u内容(http://www.domain.com/test.txt)
我获取测试文本文件的内容。这都是假设我正在从domain.com(而不是www.domain.com)运行脚本


我在这里设置了一个示例:

我有一个非常类似的问题-您可以尝试使用127.0.0.1而不是您自己的域名(假设您的apache设置没有阻止您这样做)。我认为这与域解析有关,这是api的一个怪癖。

的确很奇怪。您将如何解析该文件?您可以直接将其加载到SimpleXML中

$xml = simplexml_load_file("http://domain.com/blog/feed/index.php");
/* Use Simple XML to parse the RSS feed */

我意识到这种方法不能解决你的问题,你只需要使用另一种方法——但也许对你来说已经足够了。

好吧,我仍然不知道它为什么要这样做,但我要通过feedburner运行我的提要,然后解析它的RSS提要来解决它。因为它在一个远程域上,所以它在我的测试中起作用。不太理想,但我也有类似的问题。DNS是问题所在,它没有解析您的域名。您应该在脚本中使用IP而不是域


您可以在cmd中ping您的域并使用该IP。

如果domain.com/test.txt返回404,并且www.domain.com/test.txt成功,则主机DNS可能会以不同的方式配置托管域。在任何情况下,我确信您已经尝试使用“www”检索RSS提要,但是您是否尝试使用相对路径?例如:
file\u get\u contents(“../../feed/”)

如果站点位于虚拟主机上,这将完全失败。您知道您的虚拟主机已设置为将www.domain.com和domain.com互为别名吗?是的:ServerName bkwld.com:80 ServerAlias www.bkwld.com使用canonicalname Off DocumentRoot/var/www/vhosts/bkwld.com/site/htdocs。。。etcIs是否可能在/etc/hosts中设置了www.bkwld.com或bkwld.com?是的,我以前使用过Zend Framework Zend_Feed_Rss(),但失败了。这是当我试图通过使用file\u get\u contents和CURL深入到源代码时