【发布时间】:2015-02-19 17:26:45
【问题描述】:
我从几个 RSS 提要 joomla 模块中收到此错误。 (以下是其中一个示例 LightRSSFeedReader,但我在尝试过的其他人中遇到了问题)
Strict Standards: Non-static method DOMDocument::load() should not be called statically in /mnt/data/vhosts/casite-395567.cloudaccess.net/httpdocs/modules/mod_LightRSSFeedReader/tmpl/default.php on line 40
Notice: Trying to get property of non-object in /mnt/data/vhosts/casite-395567.cloudaccess.net/httpdocs/modules/mod_LightRSSFeedReader/tmpl/default.php on line 48
第 40 行内容为:$rss = DOMDocument::load("$rss_feed_url");
网络上有一些讨论使用“->”而不是“::”,但只是简单地更改它(当然是在覆盖中),但这只会产生更多错误。
还有一些关于从http://php.net/manual/en/domdocument.load.php 获取正确代码的方法,但我不知道它如何与“$rss”变量一起使用。
如您所知,我不是 PHP 编码员。
任何帮助都会受到广泛赞赏。
【问题讨论】:
-
听起来 LightRSSFeedReader 是在没有考虑 E_STRICT 的情况下粗心开发的。较新版本的 PHP 在 E_ALL 错误报告设置中包含严格的警告,这可能就是为什么这对他们来说从来不是问题。
-
它可能可以通过声明对象来修复,然后像
$dom = new DOMDocument(); $rss = $dom->load($rss_feed_url);一样在其上调用load() -
如果您的第 3 方代码抛出大量
E_STRICT警告,您可能只需要降低错误报告阈值以排除它们 stackoverflow.com/questions/9983286/…,因为修复是不切实际的。 -
谢谢。我将首先尝试禁用 E_Strict 警告,因为这看起来很简单......而且它奏效了!但我会在网站启动后尝试您的第一个解决方案。再次感谢。
-
您的问题现在解决了吗?如果答案是正确的,您可以考虑接受答案...
标签: php rss joomla3.0 rss-reader