PHPでキャッシュをクリアするいくつかの方法を共有する

黄舟
リリース: 2023-03-16 06:46:01
オリジナル
4800 人が閲覧しました

この記事は、PHP でキャッシュをクリアするいくつかの方法についてまとめた関連情報を主に紹介します。この記事を通じて、必要な友人がキャッシュをクリアする方法をマスターできることを願っています。 PHP のキャッシュのクリアについて

現在開発中のプロジェクトは tp3.1 バージョンを使用していますが、開発プロセス中に、ページのキャッシュ (特に HTML のキャッシュ) で問題が発生し、更新後もデータが古いままになります。更新してもデータは古いバージョンのままで、徐々に自分の人生を疑い始めました (笑)。そのため、開発プロセス中は毎回キャッシュをクリアする必要があります。

キャッシュをクリアする方法は 3 つほどあります (すべて実際の経験からまとめたものです):

最初: キャッシュの問題を回避するために、次の 2 行のコードをプロジェクトの構成ファイル config.php に追加します

 'TMPL_CACHE_ON' => false,//禁止模板编译缓存 
 'HTML_CACHE_ON' => false,//禁止静态缓存
ログイン後にコピー

これらの 2 行は、ここではコードの説明はしません

2 番目: TP フレームワークのキャッシュ ディレクトリは、開発が完了するたびにフォルダー public_htmlAppRuntime に保存されます
(少し暴力的で愚かな感じがします)。ただし、最も愚かな方法は、テスト環境とオンライン環境を許可なく削除できないことです


3 番目: 独自のキャッシュクリアクラスをビジネスコントローラーと同じディレクトリに作成できます。 (核となるアイデアは、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;;
 }
ログイン後にコピー

以上がPHPでキャッシュをクリアするいくつかの方法を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート