>  기사  >  백엔드 개발  >  PHP에서 캐시를 지우는 여러 가지 방법 공유

PHP에서 캐시를 지우는 여러 가지 방법 공유

黄舟
黄舟원래의
2018-05-15 17:07:034733검색

이 글은 주로 PHP에서 캐시를 삭제하는 여러 가지 방법을 요약하여 소개합니다. 이 글을 통해 누구나 캐시를 삭제하는 방법을 숙지할 수 있기를 바랍니다.

몇 가지 방법에 대한 요약입니다. PHP에서 캐시 지우기

현재 개발 중인 프로젝트는 tp3.1 버전을 사용합니다. 개발 과정에서 페이지 캐싱(특히 html 캐싱) 문제가 자주 발생합니다. 새로 고친 후에도 데이터가 여전히 오래되었습니다. 버전을 새로 고친 후에도 데이터가 여전히 이전 버전입니다. 서서히 내 삶이 의심되기 시작했습니다. 하하. 그래서 개발 과정에서 매번 캐시를 지워야 합니다.

캐시를 지우는 방법은 약 3가지가 있습니다(모두 실제 경험을 바탕으로 요약):

먼저: 캐시 문제를 방지하려면 프로젝트의 구성 파일 config.php에 다음 두 줄의 코드를 추가하세요.

 'TMPL_CACHE_ON' => false,//禁止模板编译缓存 
 'HTML_CACHE_ON' => false,//禁止静态缓存

이 두 줄은 I

두 번째: TP 프레임워크의 캐시 디렉터리는 public_htmlAppRuntime 폴더에 저장됩니다. 각 개발이 완료되면 그 안에 있는 모든 파일이 수동으로 삭제됩니다.
(조금 폭력적이고 어리석은 느낌입니다) , 그러나 가장 어리석은 방법은 테스트 및 온라인 환경을 허가 없이 삭제할 수 없다는 것입니다.

세 번째: 비즈니스 컨트롤러와 동일한 디렉토리에 자체 "클리어 캐시" 클래스를 만들 수 있습니다. (핵심 아이디어는 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[&#39;token&#39;]) ? trim($_GET[&#39;token&#39;]) : &#39;&#39;;
 $_operate = isset($_GET[&#39;operate&#39;]) ? trim($_GET[&#39;operate&#39;]) : &#39;&#39;;
 
 $_option = array();
 if($_operate == &#39;runtime&#39;) $_option[&#39;temp&#39;] = RUNTIME_PATH; //各种缓存数据存放目录
 if($_operate == &#39;cache&#39;) $_option[&#39;temp&#39;] = CACHE_PATH;
 if($_operate == &#39;data&#39;) $_option[&#39;temp&#39;] = DATA_PATH;
 if($_operate == &#39;fields&#39;) $_option[&#39;temp&#39;] = DATA_PATH."/_fields";
 
 import(&#39;Think.Util.Cache.CacheFile&#39;);
 $CacheFile = new CacheFile($_option);
 $CacheFile->clear();
 echo &#39;success&#39;;
 }

Clear 함수는 실제로 캐시 파일을 삭제합니다.


브라우저 주소 표시줄에 다음 주소를 입력하세요:

http://test.xxx.cn/Clear-clearcache?operate=fields  //测试环境
http://www.xxx.cn/Clear-clearcache?operate=fields  //正式环境

위 내용은 PHP에서 캐시를 지우는 여러 가지 방법 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.