PHP清除缓存的几种方法综述
现在开发项目是tp3.1版本,我们在开发过程中经常会遇到页面缓存(尤其是html缓存)的问题;刷新后依然是老版本的号,再刷新老版本的数据,慢慢开始怀疑人生,哈哈;因此,我们需要在开发过程中每次都清除缓存。
清除缓存的方法大概有三种(都是实践经验总结):
首先,将以下两行代码添加到项目的配置文件config.php中,以避免缓存问题
TMPL_CACHE_ON'=false,//禁止模板编译缓存' HTML_CACHE_ON'=false,//禁止静态缓存。这两行我就不解释了。
第二:TP框架的缓存目录存储在public_htmlAppRuntime文件夹中,每次开发后手动删除其中的所有文件(感觉有点暴力和愚蠢),但这种方法是最愚蠢的,测试和在线环境未经允许不能删除;
第三:我写了自己的缓存清除类。我们可以在与业务控制器相同的目录下创建自己的缓存清除类(核心思想是使用TP框架的缓存类进行操作,可以读取TP框架的源代码),通过url访问清除缓存。
代码如下:
/////|版权所有(c)2007-2009/////$ Id : ClearAction.class.php 668 2016-05-03 11:4:12 Z陈海波$/** - *清除缓存-。@ version $ Id : ClearAction.class.php 668 2016-05-03 11:4:12 z chenhaibo $---*/class ClearAction扩展了Action{/** - *清除缓存* @ accesspublic。@ return void-*/public function clear cache(){ $ _ token=isset($ _ GET[' token '])?trim($ _ GET[' token ']):“”;$ _ oper=isset($ _ GET[' oper '])?trim($ _ GET[' operate ']):“”;$ _ option=array();if($ _ oper==' RUNTIME ')$ _ option[' temp ']=RUNTIME _ PATH;//各种缓存数据存储目录if($ _ operate==' cache ')$ _ option[' temp ']=cache _ path;if($ _ oper==' DATA ')$ _ option[' temp ']=DATA _ PATH;if($ _ oper==' field ')$ _ option[' temp ']=DATA _ PATH。/_字段';导入(' Think。util . cache . cachefile’);$CacheFile=新的CacheFile($ _ option);$ CacheFile-clear();呼应“成功”;}clear函数实际上删除了缓存文件。
在浏览器地址栏中输入地址:
http://test.xxx.cn/Clear-clearcache?操作=字段//测试环境http://www.xxx.cn/Clear-clearcache?操作=字段//正式环境
如有疑问,请留言或去社区交流讨论。感谢阅读,希望对大家有所帮助。感谢您对本网站的支持!