Question

J'essaie de faire en sorte que la fonction rememberMe () mémorise les utilisateurs et conserve les sessions plusieurs mois à la fois.

J'ai lu que, si vous transmettez une valeur via rememberMe () , cela ne fonctionnera pas si la session a déjà été démarrée. Dans la documentation session_set_cookie_params () du manuel PHP, vous devez appeler session_set_cookie_params () pour chaque demande et avant session_start () appelé. "

J'appelle Zend_session :: start () dans mon bootstrap, car je pensais que j'étais censé le faire. Mon problème est que rememberMe () ne semble pas fonctionner.

Lorsque j'appelle session_get_cookie_params (); , je reçois:

Array([lifetime] => 0 [path] => / [domain] => [secure] => httponly] =>)

Avez-vous des idées?

Était-ce utile?

La solution

J'ai résolu le problème. les sessions étaient en train d'être effacées par un autre site Web sur le même serveur, qui expirait toutes les 24 minutes. Pour résoudre ce problème, je définis le session.save_path dans un nouveau dossier. J'ai également défini session.gc_maxlifetime et session.cookie_lifetime sur de très grands nombres.

problème résolu!

Autres conseils

N'utilisez pas la méthode start (). Cela devrait fonctionner correctement si vous utilisez MVC. Session_start doit être appelé avant toute sortie est envoyé et c'est juste avant l'envoi de la réponse (en raison du buffer de sortie). La session est lancée automatiquement lors de la première utilisation de Zend_Session_namespace.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top