致命错误:上传到提供程序后,调用非对象的成员函数xpath



我正在尝试从tumblr XML Feed中提取数据,它在我的本地MAMP服务器上运行良好。然而,在上传到我的提供商的服务器后,我得到了以下错误:

Fatal error: Call to a member function xpath() on a non-object in 
/home/httpd/vhosts/anthronaut.net/subdomains/nico/httpdocs/scripts/tumblr.php 
on line 19

以下是有问题的代码部分:

$request_url = "http://nicolasblandin.tumblr.com/api/read";
$xml = simplexml_load_file($request_url);
$posts = $xml->xpath("/tumblr/posts/post");

我的预感是服务器端的设置需要更改。我找到了一个设置allow_url_fopen并将其设置为true,但没有成功。

任何想法都将不胜感激!感谢

问题似乎是simplexml_load_file返回类型为SimpleXMLElement数组。因此,将代码的第三行更改为

$posts = $xml[0]->xpath("/tumblr/posts/post");

似乎解决了这个问题。现在真正的问题是:为什么它在另一种情况下真的有效?

最新更新