ホームページ >バックエンド開発 >PHPの問題 >PHP終了時にキャッシュをクリアする方法

PHP終了時にキャッシュをクリアする方法

hzc
hzcオリジナル
2020-06-05 11:17:132879ブラウズ

PHP終了時にキャッシュをクリアする方法

php 終了時にキャッシュをクリアする方法 :

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

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

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

TMPL_CACHE_ON => false,//禁止模板编译缓存  
HTML_CACHE_ON => false,//禁止静态缓存

ここでは、これら 2 行のコードについては説明しません;

2 番目: TP フレームワークのキャッシュ ディレクトリは、public_html\App\Runtime フォルダーに保存されている必要があります。開発ごとに手動で更新します。

内のファイルをすべて削除します (少し暴力的で愚かな気がします) が、この方法が最も愚かです。テスト環境とオンライン環境は許可なく削除できません。

3 番目: 私自身 クリア キャッシュ クラスを記述するには、ビジネス コントローラーと同じディレクトリに独自の「クリア キャッシュ」クラスを作成できます (核となるアイデアは、TP フレームワークに付属するキャッシュ クラスを使用して動作することです。 TP フレームワークのソース コードを確認してください) URL アクセスを通じてキャッシュをクリアします。コードは次のとおりです:

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';
  }
}
clear函数其实就是删除缓存文件。

PHP終了時にキャッシュをクリアする方法

ブラウザのアドレス バーにアドレスを入力してください:

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

http://www.xxx.cn/Clear-clearcache?operate=fields //フォーマルな環境

基本的にはこれらです。これが皆さんのお役に立てば幸いです。

推奨チュートリアル:「php チュートリアル

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

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