1d cabeceras
<?php
header("Expires: Sun, 31 Jan 2021 23:59:59 GMT");
// tres horas
$now = time();
$horas3 = gmstrftime("%a, %d %b %Y %H:%M:%S GMT", $now + 60 * 60 * 3);
header("Expires: {$horas3}");
// un año
$now = time();
$anyo1 = gmstrftime("%a, %d %b %Y %H:%M:%S GMT", $now + 365 * 86440);
header("Expires: {$anyo1}");
// se marca como expirado (fecha en el pasado)
$pasado = gmstrftime("%a, %d %b %Y %H:%M:%S GMT");
header("Expires: {$pasado}");
// evitamos cache de navegador y/o proxy
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
Prueba y Analiza este código en tu documentación
Corrige las funciones deprecated ya que algunas funciones de la biblioteca estándar de PHP para manejar encabezados HTTP relacionados con la caché no son válidas como gmstrftime()
, (deprecated) desde PHP 8.1.
Reemplaza gmstrftime()
por gmdate()
, que es la función recomendada y moderna para manejar fechas en formato GMT.
horas3 = gmdate("D, d M Y H:i:s", horas3=gmdate("D,dMYH:i:s",now + 60 * 60 * 3) . " GMT";
Comenta las líneas de código que creas necesarias para que el navegador SI muestre cabeceras como se muestra aquí