2015-05-15 44 views
0

我有一个非常奇怪的问题,我有一个名为getResources的类,我想要在$ url上提取每个CSS位置。那就是:PHP:在一个类中找不到DOMDocument

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; 
    } 
} 

的问题是,DOM文档不能即使安装了PHP的XML和工作如下所示找到:

[email protected] [~]# php -i|grep DOM 
DOM/XML => enabled 
DOM/XML API Version => 20031129 

我测试过的功能,通过它取出类和解析直接通过index.php文件,它工作正常。问题是,如果DOMDocument在类中,则无法找到它。有谁知道如何解决这个问题?

在此先感谢,亚历克斯

+0

它需要的libxml> = 2.6.0(http://php.net/manual/en/libxml.requirements.php) –

+0

你有没有命名空间偶然? – VolenD

回答

0

如果您PHP7和php5.6安装在你的机器上,那么只需安装PHP的XML将无法正常工作有。问题是php-xml为php7安装了xml库,并没有考虑php5版本。

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

命令和apt-get安装php5.6的XML php5.6-XML-RPC

  • 如果你只有PHP5安装
  • 命令和apt-get安装PHP5的XML PHP5-XML-RPC