资讯专栏INFORMATION COLUMN

ThinkPHP2 Xml编译出错,缓存生成失败,请刷新页面 问题

lewinlee / 2540人阅读

摘要:问题使用过程中,发现一个问题在删除缓存目录下的和两个文件之后,虽然该目录下仍然会再次生成,但是到后台会发现提示编译出错,缓存生成失败,请刷新页面。。解决注释该行,采用获取,源码如下编译出错,缓存生成失败,请刷新页面。

前言

公司拿到的团购网站,其中后台是ThinkPHP2写的。

问题

使用过程中,发现一个问题:

在删除`runtime`缓存目录下的`~runtime.php`和`~app.php`两个文件之后,虽然该目录下仍然会再次生成,但是到后台会发现提示“Xml编译出错,缓存生成失败,请刷新页面。”。
原因

经过调试发现,原因在于siteadminThinkPHPLibThinkTemplateTagLib.class.php文件110simplexml_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编译出错,缓存生成失败,请刷新页面。";exit;          
}
备注

之前曾经检查过simplexml_load_file()函数是否被禁用等,均为发现问题。最终无奈,只能以SimpleXMLElement代替,如果有发现根本原因的,欢迎提出来。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30673.html

相关文章

  • ThinkPHP2 Xml编译出错缓存生成失败刷新页面 问题

    摘要:问题使用过程中,发现一个问题在删除缓存目录下的和两个文件之后,虽然该目录下仍然会再次生成,但是到后台会发现提示编译出错,缓存生成失败,请刷新页面。。解决注释该行,采用获取,源码如下编译出错,缓存生成失败,请刷新页面。 前言 公司拿到的团购网站,其中后台是ThinkPHP2写的。 问题 使用过程中,发现一个问题: 在删除`runtime`缓存目录下的`~runtime.php`和`~ap...

    liujs 评论0 收藏0
  • Ajax详解

    摘要:当请求完成后注册一个回调函数。该请求是否触发全局处理事件如等,请求发送前的回调函数,用来修改请求发送前,此功能可用来设置自定义头信息,在函数中返回将取消这个请求。例如,为请求指定一个回调函数名。即改变回调函数的,默认就是传入的整个对象。 Ajax Ajax 全称是 asynchronous javascript and xml,并不是新的编程语言,可以说是已有技术的组合,主要用来实现客...

    jokester 评论0 收藏0
  • Ajax的全面总结

    摘要:实现流程创建对象打开请求地址,初始化数据发送请求数据监听回调函数状态收到服务器返回的应答结果。请求完成后回调函数请求成功或失败时均调用。 Ajax在前端开发中有着举足轻重的地位,关于Ajax的使用和注意事项一直是一个重要的话题,借此机会,本文希望对Ajax做一个全面的总结,彻底揭开Ajax的神秘面纱。 一.什么是Ajax Ajax(Asynchronous JavaScript and...

    lookSomeone 评论0 收藏0
  • Github上写Blog

    摘要:注的优先级比的高,系统会默认使用显示。页面重新刷新,再找到就会出现系统提示的显示地址。编译没有通过的项目是无法正常显示的如果还想换个漂亮的皮肤,就点就可以了。预备知识: 必须:Git,GitHub,Jekyll,Markdown,YAML 可选:HTML,JavaScript,CSS,XML 工具: 可选:VSCode+Markdown Preview Github Styling,Gi...

    mushang 评论0 收藏0
  • ajax基础知识

    摘要:各浏览器都有自己的关于最大长度的限制谷歌火狐超过限制长度的部分,浏览器会自动截取掉,导致传递给服务器的数据缺失。 AJAX基础知识及核心原理解读 AJAX基础知识 什么是AJAX?async javascript and xml,异步的JS和XML xml:可扩展的标记语言 作用是用来存储数据的(通过自己扩展的标记名称清晰的展示出数据结构)ajax之所以称为异步的js和xml,主要原因...

    wangshijun 评论0 收藏0

发表评论

0条评论

lewinlee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<