PHP:在类中找不到DOMDocument

时间:2015-05-15 20:03:57

标签: php domdocument

我有一个非常奇怪的问题,我有一个名为getResources的类,我想在$ url上抓取并提取每个CSS位置。这是:

class getResources {
    public function getCSSCount($sitename) {
        $count = '0';
        $file = file_get_contents($sitename);
        $doc = new DOMDocument();
        $doc->loadHTML($file);
        $domcss = $doc->getElementsByTagName('link');
        foreach($domcss as $links) {
            if( strtolower($links->getAttribute('rel')) == "stylesheet" ) {
                $count++;
            }
        }
        return $count;
    }
}

问题是即使安装了php-xml并且工作如下所示,也找不到DOMDocument:

root@robin [~]# php -i|grep DOM
DOM/XML => enabled
DOM/XML API Version => 20031129

我已经通过将它从它的类中删除并直接通过index.php文件解析来测试该函数,并且它工作正常。问题是,如果DOMDocument在一个类中,则无法找到它。有谁知道怎么修这样的东西?

提前致谢, 亚历

2 个答案:

答案 0 :(得分:0)

如果你的机器上安装了php7和php5.6,那么简单地安装php-xml将无法正常工作。问题是php-xml为php7安装了xml库,并没有关注php5版本。

要使用它,您需要在Ubuntu上运行以下命令: 1.如果你安装了php7和php5.6 :(即新的ppa => ppa:ondrej / php),那么使用以下命令,

  

sudo apt-get install php5.6-xml php5.6-xmlrpc

  1. 如果您只安装了php5
  2.   

    sudo apt-get install php5-xml php5-xmlrpc

答案 1 :(得分:0)

也许我们有similar problem。这可能是名称空间问题。您可以尝试以下方法:

$doc = new \DOMDocument();