Автор оригинала: David Wong.
Предисловие
Компания получает веб-сайт для групповых покупок, который находится за кулисами. ThinkPHP2 Написанный.
проблема
В процессе использования была обнаружена проблема:
After deleting the `runtime.php'and `app.php' files in the `runtime'cache directory, although they will still be generated in the directory, they will be found in the background prompting "Xml compilation error, cache generation failure, please refresh the page."
Причина
После отладки причина в том, что \site\admin\ThinkPHP\Lib\Think\Template\TagLib.class.php файл 110 Это нормально просто xml _load_file() Метод не может прочитать данные XML-файла и не может превратить XML в объект, поэтому сообщается об ошибке.
Решать
Обратите внимание на строку, используя Элемент SimpleXMLElement Получите исходный код следующим образом:
$file = file_get_contents($this->xml);
$xml_result = new SimpleXMLElement($file);
//$xml_result = simplexml_load_file($this->xml);
if($xml_result)
{
$array = (array)($xml_result);
}
else
{
header("Content-Type:text/html; charset=utf-8");
Echo "Xml compilation error, cache generation failure, please refresh the page. "; exit;
}Замечания
Я проверял это раньше. simplexml_load_файл() Проблема заключается в том, отключена функция или нет. В конечном счете, это можно сделать только с помощью __________. Элемент SimpleXML/| Вместо этого, если вы найдете первопричину, вы можете поднять ее.
Оригинал: “https://developpaper.com/thinkphp-2-xml-compiler-error-cache-generation-failure-please-refresh-the-page-problem/”