> 백엔드 개발 > PHP 튜토리얼 > PHP에서 캐시를 지우는 여러 가지 방법 요약

PHP에서 캐시를 지우는 여러 가지 방법 요약

不言
풀어 주다: 2023-03-30 12:10:02
원래의
4500명이 탐색했습니다.

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

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

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

캐시를 지우는 방법은 약 3가지가 있습니다(모두 실제 경험에서 요약):

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

 'TMPL_CACHE_ON' => false,//禁止模板编译缓存 
 'HTML_CACHE_ON' => false,//禁止静态缓存
로그인 후 복사

여기서는 이 두 줄의 코드를 설명하지 않겠습니다.

두 번째: 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 //공식 환경

질문이 있는 경우 메시지를 남기거나 이 사이트의 커뮤니티로 이동하여 토론해 주세요. 읽어주셔서 감사합니다.

관련 권장 사항:

ThinkPHP는 원클릭 캐시 삭제 방법을 구현합니다

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿