Когда я создаю простой test.php
файл с кодом
<?php
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTMLFile('http://localhost');
libxml_use_internal_errors(false);
print_r($dom);
?>
положите его в корень сайта WordPress и перейдите по ссылке localhost/test.php
, я успешно и сразу же получаю вывод типа
DOMDocument Object ([doctype] => (значение объекта опущено) [внедрение] => (значение объекта опущено) [documentElement] => (значение объекта опущено) [actualEncoding] => utf-8 ...
Но если я добавляю код в файл темы WordPress, например, в конец footer.php
и загружаю любую страницу веб-сайта, клиент зависает (страница продолжает загружаться), и я вижу на вкладке "Процессы" задачи Windows Диспетчер, что процесс httpd.exe
(Apache) продолжает потреблять все больше оперативной памяти, пока я не остановил загрузку страницы.
В чем причина и как заставить $dom->loadHTMLFile()
работать под темой WordPress?
пс. Я заметил, что первая строка
$dom = new DOMDocument;
не вызывает никаких проблем, но это делает строку
$dom->loadHTMLFile('...');