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

时间:2013-11-22 13:58:58

标签: php xpath

我试图从tumblr XML-Feed中提取数据,它在我的本地MAMP-Server上运行良好。但是,将其上传到我的提供商的服务器后,我收到以下错误:

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,但没有成功。

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

1 个答案:

答案 0 :(得分:0)

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

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

似乎解决了这个问题。现在真正的问题是:为什么它实际上在另一种情况下起作用?