Xpath在localhost和server上返回了不同的结果

时间:2015-01-01 16:16:07

标签: php curl xpath

    ...
    ...        
    $page = curl_exec($ch);

    $DOM = new DOMDocument;
    $DOM->loadHTML($page);

    $xpath = new DOMXPath($DOM);

    $feeds = $xpath->query("//head/link[@href][@type='application/rss+xml']/@href");

    echo $feed->length;

我使用了curl和xpath,它在我的服务器中坏了。它在localhost中返回1,但在服务器中为空。我已经在我的服务器上安装了curl。

1 个答案:

答案 0 :(得分:0)

在你的问题中,你概述了:

 print_r($feed->length);
  

它在localhost中返回1,但在服务器中为空。

您的服务器上很可能出现错误。在您的服务器上,您必须启用PHP错误日志记录并将错误级别设置为至少通知。然后你必须重现“服务器中的空白”情况。之后,您应该在错误日志中找到一些错误信息,例如

  

注意:尝试获取非对象的属性

(此消息是示例性的,您的信息可能会有所不同。您还将获得发生错误的文件名和行号。)

然后,您可以使用PHP manual查看错误发生线周围位置的已使用函数,方法和语言结构,以及其他策划资源,例如我们在网站上的PHP error reference解决问题。