Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP未解析wordpress rss源_Php_Wordpress_Rss - Fatal编程技术网

PHP未解析wordpress rss源

PHP未解析wordpress rss源,php,wordpress,rss,Php,Wordpress,Rss,我已经在这里读了十几篇关于这个主题的帖子,所有的帖子都提到了空白问题,我没有,而且feedvalidator同意我的feed是可以的(http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fgearmunk.com%2Fblog%2Ffeed%2F) 我使用以下代码来解析rss: <?php $rss = new DOMDocument(); $rss->load('http:/gearmunk.com/blog/feed/'); $f

我已经在这里读了十几篇关于这个主题的帖子,所有的帖子都提到了空白问题,我没有,而且feedvalidator同意我的feed是可以的(http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fgearmunk.com%2Fblog%2Ffeed%2F)

我使用以下代码来解析rss:

<?php
$rss = new DOMDocument();
$rss->load('http:/gearmunk.com/blog/feed/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array ( 
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 3;
for($x=0;$x<$limit;$x++) {
$title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$date = date('l F d, Y', strtotime($feed[$x]['date']));
echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
echo '<small><em>Posted on '.$date.'</em></small></p>';
echo '<p>'.$description.'</p>';
}
?>

但如果你看一下,你会发现,在右边,它列出了3个糟糕的日期,没有rss数据。如果我输入另一个提要URL,它工作正常;如果我将rss提要输入Google reader,它工作正常。我希望我错过了一些愚蠢的简单的东西。有人能帮忙吗

谢谢, 埃里克

更多信息:

我开始关注wordpress的问题,所以我尝试了其他一些wordpress RSS源。CNN的一个很好用(http://religion.blogs.cnn.com/feed/)但是,来自BoingBoing(也是一个WP站点)的一个不起作用:

我没有得到通常与空白问题相关的XML解析错误,所以我认为这不是问题所在

埃里克

试试换衣服

$rss->load('http:/gearmunk.com/blog/feed/');
以下内容(请注意额外的/)

更改后的代码似乎按预期运行。

尝试更改

$rss->load('http:/gearmunk.com/blog/feed/');
以下内容(请注意额外的/)


代码似乎按照预期的那样运行。我知道这是一个老问题,但我在试图解决我自己的WordPress RSS源问题时遇到了它。在我的例子中,我缺少PHP XML扩展

所以我跑了
apt get install php7.0-xml
(我正在Ubuntu上运行PHPV7.0,请检查您的PHP版本),重新启动了我的服务器,它完全解决了我的问题

对于PHP7上的CentOS/Fedora/Red Hat:

yum install php70w-xml

希望这对别人有帮助

我知道这是一个老问题,但我在试图解决我自己的WordPress RSS源问题时遇到了这个问题。在我的例子中,我缺少PHP XML扩展

所以我跑了
apt get install php7.0-xml
(我正在Ubuntu上运行PHPV7.0,请检查您的PHP版本),重新启动了我的服务器,它完全解决了我的问题

对于PHP7上的CentOS/Fedora/Red Hat:

yum install php70w-xml

希望这对别人有帮助

康拉德,我确实改变了这一点,但我仍然遇到同样的问题:请再试一次,这是我唯一做的改变,我得到的似乎是预期的输出。我已经把代码复制到康拉德身上了。非常有趣。它可以在你的服务器上运行,但不能在我的服务器上运行(与WP博客所在的服务器相同)。我(不止一次)确认http://在那里。我们现在可以放心地说,是我的服务器上的某些东西导致了问题。我会继续挖掘,非常感谢!我甚至创建了一个新文件,以确保它不是其他php弄乱了它,同样的结果。()可能值得联系您的主机提供商。在其环境中的记录上查找DNS可能会出现问题。如果您拥有对服务器的完全访问权限,那么对/etc/resolve.conf的修改可能会解决这个问题,如果事实上是这样的话。Conrad,我确实改变了这一点,但仍然遇到同样的问题:请重试,这是我唯一做的更改,我得到了预期的输出。我已经把代码复制到康拉德身上了。非常有趣。它可以在你的服务器上运行,但不能在我的服务器上运行(与WP博客所在的服务器相同)。我(不止一次)确认http://在那里。我们现在可以放心地说,是我的服务器上的某些东西导致了问题。我会继续挖掘,非常感谢!我甚至创建了一个新文件,以确保它不是其他php弄乱了它,同样的结果。()可能值得联系您的主机提供商。在其环境中的记录上查找DNS可能会出现问题。如果您拥有对服务器的完全访问权限,那么对/etc/resolve.conf的修改可能会解决这个问题,如果事实确实如此的话。