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函数其实就是删除缓存文件。
ブラウザのアドレス バーにアドレスを入力してください:
http://test.xxx.cn/Clear-clearcache?operate=fields //テスト環境
http://www.xxx.cn/Clear-clearcache?operate=fields //フォーマルな環境
基本的にはこれらです。これが皆さんのお役に立てば幸いです。
推奨チュートリアル:「php チュートリアル」
以上がPHP終了時にキャッシュをクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。