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

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

小云云
小云云원래의
2018-05-15 17:08:053042검색

현재 개발 중인 프로젝트는 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[&#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;;
 }

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


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


http://test.xxx.cn/Clear-clearcache?operate=fields //테스트 환경

http://www.xxx.cn/ Clear -clearcache?operate=fields //공식 환경



관련 권장 사항:


PHP 캐시 지우기 방법 요약

Javascript가 캐시를 얻고 캐시 API를 지우는 방법에 대한 샘플 코드 공유

php가 실패함 그림 그리기, 클리어 캐시 ob_clean을 사용하면 문제를 해결할 수 있습니다.

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

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