Salut à tous.
J'ai un problème avec les sessions php depuis que je suis sous php version 7.2.0.
Le script php que j'exécute est le même dans les deux cas ci-après. C'est aussi le même fichier php.ini, donc le même paramétrage pour les sessions.
Voici mon script php :
Et voici le second script, celui qui se nomme "index2.php" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <!doctype html> <html> <head> <meta charset="ISO-8859-15" /> <title>Session PHP</title> <script type="text/javascript" src="Js/Script.js"></script> <link rel="stylesheet" type="text/css" href="Css/Styles.css" /> </head> <body> <h1>Session PHP</h1> <br /> <?php session_start(); $_SESSION['hello'] = "Ca fonctionne !"; ?> <a href="index2.php">page suivante</a> </body> </html>
Rien d'extraordinaire ! Je déclare une variable "hello" dans la première page et je lis cette variable qui a été stocké dans la session dans la seconde page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <!doctype html> <html> <head> <meta charset="ISO-8859-15" /> <title>Session PHP</title> <script type="text/javascript" src="Js/Script.js"></script> <link rel="stylesheet" type="text/css" href="Css/Styles.css" /> </head> <body> <h1>Session PHP</h1> <br /> <pre> <?php session_start(); echo "Résultat : ".$_SESSION['hello']."\n"; ?> </pre> </body> </html>
Voici le premier cas que j'obtiens :
Comme on peut le voir, je récupère bien ma chaine de caractères, soit "ca fonctionne !".
Voici le second cas que j'obtiens :
J'ai perdu le contenu de ma variable "hello" qui était stockée dans la session.
Tout se passe comme si j'avais une nouvelle session mais à vide.
Quel est la différence entre ces deux cas ?
Dans le premier cas, le virtualHost que j'utilise travaille avec une adresse IPv6 en https et ma connexion est sécurisée via un certificat let's Encrypt.
Dans le second cas, le virtualHost que j'utilise travaille avec une adresse IPv4 en http et ma connexion n'est pas sécurisée. Autrement dit, je suis en local.
Je ne comprends pas cette différence de fonctionnement !
@+
Partager