ホームページ  >  記事  >  バックエンド開発  >  PHPでキャッシュをクリアする方法まとめ

PHPでキャッシュをクリアする方法まとめ

巴扎黑
巴扎黑オリジナル
2017-09-14 09:53:421858ブラウズ

この記事は、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;;
 }

Clear関数は実際にキャッシュファイルを削除します。


ブラウザのアドレスバーにアドレスを入力します:


http://test.xxx.cn/Clear-clearcache?operate=fields //テスト環境

http://www.xxx.cn/ Clear -clearcache?operate=fields //正式な環境

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。