현재 개발 중인 프로젝트는 tp3.1 버전을 사용합니다. 개발 과정에서 페이지 캐싱(특히 html 캐싱) 문제가 자주 발생하며 데이터는 여전히 이전 버전입니다. 버전을 다시 새로 고친 후 서서히 내 삶이 의심되기 시작했습니다. 하하. 그래서 개발 과정에서 매번 제때에 캐시를 지워야 합니다.
캐시를 지우는 방법은 약 3가지가 있습니다(모두 실제 경험에서 요약):
먼저: 캐시 문제를 방지하려면 프로젝트의 구성 파일 config.php에 다음 두 줄의 코드를 추가하세요
'TMPL_CACHE_ON' => false,//禁止模板编译缓存 'HTML_CACHE_ON' => false,//禁止静态缓存
이 두 줄의 코드 여기서는 설명하지 않겠습니다.
두 번째: TP 프레임워크의 캐시 디렉터리는 public_htmlAppRuntime 폴더에 저장됩니다. 각 개발이 완료되면 그 안에 있는 모든 파일이 수동으로 삭제됩니다.
(조금 폭력적이고 어리석은 느낌입니다) , 하지만 이 방법의 가장 어리석은 점은 테스트 및 온라인 환경을 허가 없이 삭제할 수 없다는 것입니다.
세 번째: 비즈니스의 동일한 디렉토리에 자체 "클리어 캐시" 클래스를 만들 수 있습니다. 컨트롤러(core)는 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'; }
The Clear 함수는 실제로 캐시 파일을 삭제합니다.
브라우저 주소 표시줄에 주소를 입력하세요:
http://test.xxx.cn/Clear-clearcache?operate=fields //테스트 환경
관련 권장 사항:
위 내용은 PHP에서 캐시를 지우는 여러 가지 방법 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!