這篇文章主要介紹了PHP清除緩存的幾種方法總結的相關資料,希望透過本文大家能夠掌握清除緩存的方法,需要的朋友可以參考下
PHP清除緩存的幾種方法總結
現在開發的專案是用tp3.1版本的,在開發過程中我們常常會遇到頁面快取的問題(特別是html的快取);刷新後還是舊版的數,再刷新下還是舊版數據,慢慢的開始懷疑人生了,哈哈;所以在開發過程中我們又必要每次及時清除快取。
清除快取的方法大概有3種(都是實際經歷總結):
第一:在專案的設定檔config.php裡加入下面兩行程式碼就能避免快取問題
'TMPL_CACHE_ON' => false,//禁止模板编译缓存 'HTML_CACHE_ON' => false,//禁止静态缓存
這兩行程式碼在這裡我就不解釋啦;
第二:TP框架的快取目錄存放在資料夾public_html\App\Runtime下,每次開發完成後手動刪除裡面的所有檔案
(感覺有點暴力和愚蠢),但這種方法最愚蠢,測試和線上環境如果沒有權限就刪除不了了;
第三:我自己寫的清除緩存類,我們可以在業務控制器同目錄下新建自己的"清除緩存"的類(核心想法就是利用TP框架自帶的快取類別來操作,TP框架的原始碼大家可以看下),透過url存取的方式來清楚緩存,
程式碼如下:
#
// +---------------------------------------------------------------------- // | Copyright (c) 2007-2009 // +---------------------------------------------------------------------- // $Id: ClearAction.class.php 668 2016-05-03 11:43:12Z chenhaibo $ /** +------------------------------------------------------------------------------ * 清除缓存 +------------------------------------------------------------------------------ * @author haibo <chenhaibo0806@163.com> * @version $Id: ClearAction.class.php 668 2016-05-03 11:43:12Z chenhaibo $ +------------------------------------------------------------------------------ */ class ClearAction extends Action{ /** +---------------------------------------------------------- * 清除缓存 +---------------------------------------------------------- * @access public +---------------------------------------------------------- * @return void +---------------------------------------------------------- */ public function clearcache() { $_token = isset($_GET['token']) ? trim($_GET['token']) : ''; $_operate = isset($_GET['operate']) ? trim($_GET['operate']) : ''; $_option = array(); if($_operate == 'runtime') $_option['temp'] = RUNTIME_PATH; //各种缓存数据存放目录 if($_operate == 'cache') $_option['temp'] = CACHE_PATH; if($_operate == 'data') $_option['temp'] = DATA_PATH; if($_operate == 'fields') $_option['temp'] = DATA_PATH."/_fields"; import('Think.Util.Cache.CacheFile'); $CacheFile = new CacheFile($_option); $CacheFile->clear(); echo 'success'; }
clear函數其實就是刪除快取檔案。
瀏覽器網址列輸入位址:
#http://test.xxx.cn/Clear-clearcache?operate =fields //測試環境
http://www.xxx.cn/Clear-clearcache?operate=fields //正式環境
如有疑問請留言或到本站社區交流討論,感謝閱讀,希望能幫助大家。
相關建議:
以上是PHP清除快取的幾種方法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!