попытайтесь игнорировать ошибку:
В моих случаях у меня есть несколько «виджетов» в нескольких файлах, которые действуют как шаблоны.Например: template_header.html template_footer.html
<?php
//Load header
$dom = new DOMDocument();
@$dom->loadHTMLFile('template_header.html');
$xpath = new DOMXpath($dom);
$nodelist = $xpath->query('div[class="template-widget"]');
foreach($nodelist as $node){
echo $dom->saveHTML($node);
}
?>
Обратите внимание, что $ dom-> loadhtmlfile имеет и '@', чтобы игнорировать ошибку.