PHP est comme suit:PHP - ini_set ('session.gc_maxlifetime', 5) - Pourquoi ça ne met pas fin à la session? Le script
<?php // continue.php
ini_set('session.gc_maxlifetime', 5);
session_start();
echo ini_get('session.gc_maxlifetime');
// wait for 7 seconds
usleep(7000000);
if (isset($_SESSION['username']))
{
$username = $_SESSION['username'];
$password = $_SESSION['password'];
$forename = $_SESSION['forename'];
$surname = $_SESSION['surname'];
echo "Welcome back $forename.<br />
Your full name is $forename $surname.<br />
Your username is '$username'
and your password is '$password'.";
}
else echo "Please <a href=authenticate2.php>click here</a> to log in.";
?>
Basé sur le délai d'attente (à savoir 5 secondes), le script ne doit pas imprimer quoi que ce soit. Cependant, je reçois toujours le message
5Welcome back Bill. Your full name is Bill Smith. Your username is 'bsmith' and your password is 'mysecret'.
suivante Il semble que la ini_set ligne (« session.gc_maxlifetime », 5) ne fonctionne pas comme il devrait être. J'utilise WindowsXP + XAMMP.
Pouvez-vous me dire comment le faire fonctionner?
Merci
Je pense que le point ici est cependant que la session est toujours active, et ne devrait donc probablement pas être sujet à la garbage collection dans tous les cas. Je ne sais pas pour sûr cependant. –
@Pekka Le point est que le garbage collection est inutile ici parce que 1) il sera seulement appelé avec une petite probabilité et 2) il est seulement appelé sur «session_start». – Artefacto
convenu. De plus, la récupération de place est encore plus inutile car la session dans laquelle nous sommes est toujours active (et un gestionnaire interne probablement verrouillé). Correct? –