Le projet en cours de développement utilise désormais la version tp3.1 Pendant le processus de développement, nous rencontrons souvent des problèmes de mise en cache des pages (notamment la mise en cache du html, les données sont toujours l'ancienne version, et après un nouveau rafraîchissement) ; les données sont toujours l'ancienne version. Lentement, j'ai commencé à douter de ma vie, haha donc pendant le processus de développement, nous devons vider le cache à temps à chaque fois.
Il existe environ 3 façons de vider le cache (toutes résumées à partir d'une expérience réelle) :
Première : ajoutez les deux lignes de code suivantes au fichier de configuration du projet config.php. Évitez les problèmes de mise en cache
'TMPL_CACHE_ON' => false,//禁止模板编译缓存 'HTML_CACHE_ON' => false,//禁止静态缓存
Je n'expliquerai pas ces deux lignes de code ici
Deuxièmement : Le répertoire cache du framework TP est stocké dans le dossier public_htmlAppRuntime, à chaque fois ; Une fois le développement terminé, supprimez manuellement tous les fichiers à l'intérieur de
(cela semble un peu violent et stupide), mais cette méthode est la plus stupide. Les environnements de test et en ligne ne peuvent pas être supprimés sans autorisation
. Chapitre trois : J'ai écrit moi-même la classe clear cache. Nous pouvons créer notre propre classe « clear cache » dans le même répertoire que le contrôleur métier (l'idée principale est d'utiliser la classe cache fournie avec le framework TP pour fonctionner. Vous pouvez trouvez le code source du framework TP. Voir ci-dessous), videz le cache via l'accès url,
le code est le suivant :
// +---------------------------------------------------------------------- // | 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['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'; }
La fonction clear supprime en fait le fichier cache.
Entrez l'adresse dans la barre d'adresse du navigateur :
http://test.xxx.cn/Clear-clearcache? opera =fields //Environnement de test
http://www.xxx.cn/Clear-clearcache?operate=fields //Environnement formel
Recommandations associées :
Résumé des méthodes pour vider le cache en PHP
Exemple de partage de code sur la façon dont Javascript obtient le cache et vider l'API du cache
php n'a pas réussi à dessiner des images, en utilisant le cache vide, ob_clean peut être résolu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!