Foros del Web » Programando para Internet » PHP »

Obligar caché de un PHP

Estas en el tema de Obligar caché de un PHP en el foro de PHP en Foros del Web. Hola! He buscado pero sin tener éxito como lograr que el navegador haga si o si caché de un archivo. Todos explican como obligar que ...
  #1 (permalink)  
Antiguo 14/02/2010, 05:39
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 17 años, 11 meses
Puntos: 15
Obligar caché de un PHP

Hola!

He buscado pero sin tener éxito como lograr que el navegador haga si o si caché de un archivo. Todos explican como obligar que no cachee, pero yo necesito lo contrario.

He aquí el problema: El navegador cachea sólo por 5 segundos.

Pueden probar viendo las cabeceras de este archivo:
http://www.videos-de-terror.com/var/testcache.php

Si ven las cabeceras verán lo sgte:
Código:
Date: Sun, 14 Feb 2010 11:34:05 GMT
Server: Apache/2.2.9 (Fedora)
X-Powered-By: PHP/5.2.6
Expires: Mon, 15 Feb 2010 11:34:05 GMT
Pragma: public
Cache-Control: max-age=5, private, proxy-revalidate
Vary: Accept-Encoding
Content-Type: text/html
Content-Length: 20
Connection: Keep-Alive
Content-Encoding: gzip
200 OK
Y el código del archivo PHP es:
Código PHP:
header('Expires: '.gmdate('D, d M Y H:i:s'time() + (3600*24)).' GMT');
header('Pragma: public');
header('Cache-Control: max-age=100, public, must-revalidate'); 
¿UDs qué creen que sea el problema de que no cachee correctamente?

El problema esta en que la cabecera dice "Cache-Control: max-age=5", aunque yo especifico más segundos.

Un saludo y muchas gracias de antemano.
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.
  #2 (permalink)  
Antiguo 14/02/2010, 05:56
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 17 años, 11 meses
Puntos: 15
De acuerdo Respuesta: Obligar caché de un PHP

¡El problema estaba en Apache!

Mirando la configuración "conf/httpd.conf" de apache, he encontrado las siguientes líneas:
Código Apache:
Ver original
  1. <FilesMatch "\.(html|htm|php)$">
  2. Header set Cache-Control "max-age=5, private, proxy-revalidate"
  3. </FilesMatch>

Al parecer PHP no puede modificar lo que la configuración de Apache tenga. He comentado estas lineas y ha funcionado a la perfección.

Ahora me surge una duda. ¿Se puede hacer que la configuración de Apache sea la predeterminada a menos que PHP lo cambie?

Un saludo...
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.

Etiquetas: cache, header
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:23.