DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


fr:devel:session_handling

Gestion des sessions

FIXME

DokuWiki ouvre la session dans inc/init.php. Après avoir initialisé certaines choses, il est refermé. Ceci est dû au fait que PHP verrouille la session et que ce verrouillage de la session peut stopper les requêtes en arrière-plan comme les images, ajax, etc.

Selon le moment où votre greffon est lancé, il se peut que la session soit déjà fermée. Vous pouvez toujours lire les variables d'une session fermée mais l'écriture n'aura aucun effet. Si vous avez besoin d'y écrire, vous devez appeler session_start() à nouveau, utiliser la session comme d'habitude et fermer la session avec session_write_close() à nouveau.

:? : Quand se ferme-t-elle dans le code ? Comment le détecter ? Si l'on tente de (ré)ouvrir une session qui n'est actuellement pas fermée, on obtient une erreur.

:! : Pour ré-ouvrir une session, aucun caractère ne doit être envoyé au navigateur du client.

fr/devel/session_handling.txt · Dernière modification : 2020-08-22 10:25 de Digitalin

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki