1 Dernière modification par Nardo26 (18-04-2011 09:17:04)

Sujet : [Résolu] Problème avec entete HTTP

Bonsoir,
J'essaye de comprendre comment fonctionne la gestion de cache et je rencontre un petit problème:

J'ai mis en tout début de ma page ceci :

<?php
  header("Cache-Control: must-revalidate");
  $offset=60*60*24*3;
  $ExpStr="Expires: ".gmdate("D, d M Y H:i:s",time()+$offset)." GMT";
  header($ExpStr);
  header("Content-type: text/html; charset=utf-8");
?>

Normalement je devrais m'attendre à trouver une date d'expiration de 3 jours... or quand je contrôle l'entête avec:
http://tools.apocalx.com/entete-http/
je me retrouve avec ceci :

HTTP/1.1 200 OK
Date: Sun, 17 Apr 2011 22:05:39 GMT
Server: Apache/2.2.10 (Unix) mod_vhost_dbd w/memcached (T0aD)
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

 

Pourtant, pour controler, j'ai rajouté un peu plus loin dans la page ceci :
  <?php echo gmdate("D, d M Y H:i:s",time()).' ---> '.$ExpStr; ?>
et j'obtiens :
Sun, 17 Apr 2011 22:13:39 ---> Expires: Wed, 20 Apr 2011 22:13:39 GMT


Quelqu'un pourrais m'expliquer pourquoi cela ne fonctionne pas ?
Où se trouve mon erreur ?

Merci d'avance ! smile

Re: [Résolu] Problème avec entete HTTP

Bonjour,
Je viens de résoudre mon problème en rajoutant ceci:

<?php
  ob_start();
  ...
  ... le bout de code précédent
  ...
  ob_end_flush();
?>

bizarre car je n'avais pas de lignes speciales, de crlf,etc... avant le code. neutral

3

Re: [Résolu] Problème avec entete HTTP

Bonsoir,

Très étrange, mais si ob_start() à résolu le problème, c'est forcément que si smile

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

Re: [Résolu] Problème avec entete HTTP

En fait je n'avais rien avant le code mais j'avais un CRLF juste après la balise de fermeture du php (?>) et le <!DOCTYPE...
wink

5

Re: [Résolu] Problème avec entete HTTP

Bizarre néanmoins qu'aucun warning ne fut affiché, peut être une configuration particulière du report d'erreurs PHP ?

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."