2010-08-20 4 views
0
function redirect($url){ 
    header("HTTP/1.1 303 See Other"); 
    header("Location: $url"); 
    exit(); 
} 

J'ai la fonction appelée lorsque certains boutons d'entrée sont cliqués.Redirection d'en-tête, sessions perdues, mais seulement après environ 5 minutes

La session est définie sur chaque page et elle est passée si le bouton est cliqué dans les 5 minutes. Mais la session est perdue après environ 5 minutes si le bouton est cliqué.

Si je rafraîchis la page (pas de redirection) la session n'est pas perdue, donc je suis sûr que ce n'est pas un problème de délai d'attente. Qu'est-ce qui peut causer cela?

+0

Notez que 303 est censé être utilisé pour rediriger l'en réponse à la demande POST. – Gumbo

Répondre

1

figured it out. Nécessaire d'ajouter cette ligne à mon fichier php.ini personnalisé. Pour une raison quelconque, la session nécessite un fichier de session explicitement direct à enregistrer dans un répertoire local.

session.save_path = /path/to/tmp

+0

bien, merci de poster. – KeatsKelleher

0

Essayez d'éditer cette partie de votre fichier php.ini et redémarrez apache:

; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) 
;user_ini.cache_ttl = 300 
+0

Qu'est-ce que cela ferait? – kylex

+0

Décommenter le user_ini.cache_ttl et augmenter le nombre prolongerait le temps de vie sur le cache de l'utilisateur. Il est réglé à 5 minutes par défaut. C'est très probablement d'où viennent vos problèmes. (Vous devez redémarrer apache pour que les modifications apportées à php.ini prennent effet) – KeatsKelleher

+0

Malheureusement, cela n'a pas fonctionné. – kylex

Questions connexes