Maison > Article > développement back-end > Comment définir le temps de cache en php
En php, vous pouvez utiliser la méthode "header()" pour définir le cache de la page. La syntaxe est telle que "header("Pragma: cache");$ExpStr = "Expires: ".gmdate. ("D, d M Y H:i:s", ),GMT";".
Recommandé : "Tutoriel vidéo PHP"
php header() définit le cache de la page
La fonction header() est largement utilisée en php. Ci-dessous, je présenterai quelques méthodes pour l'utiliser pour obtenir une page. mise en cache, mais il doit être utilisé avant d'utiliser l'en-tête. Notez qu'il ne peut y avoir aucune sortie avant, y compris les espaces. Dans le manuel, nous décrivons comment définir le cache pour que le code ne soit pas mis en cache.
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past header("Pragma: no-cache"); // Date in the past
et dans Lors du réglage, vous devez également faire attention au fait qu'il ne peut pas y avoir de sortie avant l'en-tête, sinon le paramètre d'en-tête sera invalide, mais je n'ai jamais écrit sur la façon de définir le cache pour le page, bien que nous sachions qu'il existe certaines méthodes, telles que E-TAG, et bien sûr il existe des paramètres simples, par exemple, avant de sortir, nous md5 le contenu et le traitons comme une balise électronique. ne change pas, cela n'aura aucun impact. Il existe d'autres moyens, le code est le suivant :
$seconds_to_cache = 3600; $ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT"; header("Expires: $ts"); header("Pragma: cache"); header("Cache-Control: max-age=$seconds_to_cache");
Cache pendant 1 heure, principalement pour l'expiration. L'heure doit être définie avec gmdate, pas avec date. noté. D'autres sont similaires. maxage doit être cohérent avec expire
Pour le contenu dynamique généré par PHP, il vous suffit de générer une mise en cache forcée avant que le contenu ne soit généré. Par exemple, le code suivant est suffisant. nécessite que le navigateur mette le fichier en cache pendant 1 mois. Le code est le suivant :
<?php header("Cache-Control: public"); header("Pragma: cache"); $offset = 30*60*60*24; // cache 1 month $ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT"; header($ExpStr); ?>
Pour les fichiers statiques, les serveurs généraux prennent en charge le troisième niveau d'état du cache. Pour atteindre le quatrième niveau, soit. utilisez PHP pour externaliser une couche, puis utilisez PHP pour la traiter, ou vous avez besoin d'un support côté serveur, un module d'APACHE, prend en charge l'ajout d'un en-tête d'expiration au fichier. Ajoutez le code suivant au fichier .htaccess de votre blog. si le module mod_expires est installé sur votre serveur, il prendra automatiquement effet. Les images, etc. doivent être mises en cache pendant un mois et les documents HTML sont mis en cache pendant 10 minutes. Si le module n'est pas installé, il n'y aura pas d'erreur. Le code est le suivant :
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpeg A2592000 ExpiresByType image/png A2592000 ExpiresByType application/x-shockwave-flash A2592000 ExpiresByType text/css A2592000 ExpiresByType application/x-javascript A2592000 ExpiresByType text/html A600 </IfModule>
Il existe une documentation et des tutoriels plus détaillés pour mod_expires ici. Cependant, je tiens à noter que mod_expires n'est pas installé sur la plupart des serveurs.
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!