TP5删除runtime下缓存

TP5运行的时候经常遇到缓存问题,有的时候需要清除缓存程序就正常了,下面代码可以清理runtime下缓存文件
代码如下:

  1. if(!session(‘?clear_time’)||(time()-session(‘clear_time’))>=300)  
  2. //缓存清理不要太频繁,这里设置了5分钟.(300秒)有需要可以自行调整
  3. {
  4.         Cache::clear();   //TP5提供的缓存清理函数,清理runtime\cache\的所有目录和文件
  5.         $path = glob(env(‘RUNTIME_PATH’).’temp/*.php’);  //取得runtime\temp 下所有php文件
  6.         array_map( ‘unlink’, $path);      //删除
  7.         $path_log = glob(env(‘RUNTIME_PATH’).’log/*’);//log目录权限问题,只能删除文件
  8.         foreach($path_log as $log)
  9.         {
  10.                 array_map( ‘unlink’, glob($log.’/*.log’));  
  11.         }
  12.         session(‘clear_time’, time());
  13. }

复制代码
自动清理可以放到初始化函数中:

  1. public function initialize()
  2. {
  3.         if(!session(‘?clear_time’)||(time()-session(‘clear_time’))>=300)  
  4.         //缓存清理不要太频繁,这里设置了5分钟.(300秒)有需要可以自行调整
  5.         {
  6.                         Cache::clear();   //TP5提供的缓存清理函数,清理runtime\cache\的所有目录和文件
  7.                         $path = glob(env(‘RUNTIME_PATH’).’temp/*.php’);  //取得runtime\temp 下所有php文件
  8.                         array_map( ‘unlink’, $path);      //删除
  9.                         $path_log = glob(env(‘RUNTIME_PATH’).’log/*’);//log目录权限问题,只能删除文件
  10.                         foreach($path_log as $log)
  11.                         {
  12.                                         array_map( ‘unlink’, glob($log.’/*.log’));  
  13.                         }
  14.                         session(‘clear_time’, time());
  15.         }
  16. }

复制代码

发表回复