php退出時如何清除快取

2020-07-16 10:06:36

php退出時如何清除緩存:

現在開發的專案是用tp3.1版本的,在開發過程中我們常常會遇到頁面快取的問題(特別是html的快取);重新整理後還是舊版的數,再重新整理下還是舊版資料,慢慢的開始懷疑人生了,哈哈;所以在開發過程中我們又必要每次及時清除快取。

清除快取的方法大概有3種(都是實際經歷總結):

第一:在專案的組態檔config.php裡加入下面兩行程式碼就能避免快取問題

TMPL_CACHE_ON => false,//禁止模板編譯快取  
HTML_CACHE_ON => false,//禁止靜態快取

這兩行程式碼在這裡我就不解釋啦;

第二:TP框架的快取目錄存放在資料夾public_htmlAppRuntime下,每次開發完成後手動刪除裡面的所有檔案

(感覺有點暴力和愚蠢),但這種方法最蠢,測試和線上環境如果沒有許可權就刪除不了了;

第三:我自己寫的清除快取類,我們可以在業務控制器同目錄下新建自己的"清除快取"的類(核心思想就是利用TP框架自帶的快取類來操作,TP框架的原始碼大家可以看下),通過url存取的方式來清楚快取,程式碼如下:

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函數其實就是刪除快取檔案。

ed6eade9-e070-3277-9782-1f37129f7b28.jpg

瀏覽器器位址列輸入地址:

http://test.xxx.cn/Clear-clearcache?operate=fields //測試環境

http://www.xxx.cn/Clear-clearcache?operate=fields //正式環境

基本上就是這些吧,希望對大家有所幫助。

以上就是php退出時如何清除快取的詳細內容,更多請關注TW511.COM其它相關文章!