[英]PHP: DOMDocument cannot be found within a class
我有一個很奇怪的問題,我有一個名為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位於類中,則找不到該文檔。 有誰知道如何解決這樣的問題?
預先感謝Alex
如果您在計算機上安裝了php7和php5.6,則僅安裝php-xml將不起作用。 問題是php-xml為php7安裝了xml庫,而對於php5版本卻不起作用。
要使用它,您需要在Ubuntu上運行以下命令:1.如果同時安裝了php7和php5.6 :(即新的ppa => ppa:ondrej / php),然后使用以下命令,
須藤apt-get install php5.6-xml php5.6-xmlrpc
須藤apt-get install php5-xml php5-xmlrpc
也許我們有類似的問題 。 這可能是名稱空間問題。 您可以嘗試以下方法:
$doc = new \DOMDocument();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.