Problème de $_SESSION sur PHP 8.1
j'ai rencontré un problème avec un script de connexion sous PHP 8.1
le script fonctionne parfaitement sous PHP 8 en local comme sur vos serveurs mais quand j'active PHP 8.1 la session ne semble pas se crée sur le serveur .
Un var_dump($_SESSION["xxx"]); fonctionne si il est exécuté sur la script ou la SuperGlobales est créé
mais il répond NULL sur la page suivante ouverte par un header Location.
en php 8.1 faut il faire une Encapsulation de SuperGlobales .
De ce que je vois actuellement comme différence dans les sessions entre le PHP Info de la branche 8.1 (http://phpinfo.franceserv.fr/81x/#module_session) et la branche 8.0 (http://phpinfo.franceserv.fr/80x/#module_session) ce sont les "Registered save handlers".
À savoir :
Et comme le gestionnaire "memcached" est utilisé par défaut pour enregistrer les sessions et que la branche PHP 8.1 ne semble pas encore le prendre en charge, c'est surement pour cette raison que les sessions ne peuvent pas s'enregistrer.Registered save handlers (PHP 8.0) : files user memcache redis rediscluster memcached
Registered save handlers (PHP 8.1) : files user
Il vous faudrait alors passer "Sessions PHP" de "Memcached (recommandé)" en "fichiers sur le disque" via votre gestionnaire client FSH. L'option se trouve juste au-dessus de l'option pour changer la branche PHP, cliquez sur la version PHP dans la liste de vos sites pour y accéder.
Il est possible que la branche PHP 8.1 prenne en charge memcached dans le futur, mais cette branche est encore très récente.
N'hésitez pas à revenir vers moi.