Emplacement de stockage de session
Cette rubrique explique comment localiser vos fichiers de session. Le système utilise la logique suivante pour stocker les fichiers de session :
-
Si vous avez configuré la mémoire mise en cache, les sessions sont stockées dans la mémoire vive. Voir Utiliser la mémoire mise en cache pour le stockage de session.
-
Si vous avez configuré Redis, les sessions sont stockées sur le serveur Redis ; voir Utiliser Redis pour le stockage de session.
-
Si vous utilisez le stockage de session basé sur les fichiers par défaut, nous stockons les sessions aux emplacements suivants dans l’ordre indiqué :
Exemple dans env.php
Voici un exemple de fragment de code provenant de <magento_root>/app/etc/env.php
:
'session' => [
'save' => 'files',
'save_path' => '/var/www/session'
],
L’exemple précédent stocke des fichiers de session dans /var/www/session
.
Exemple dans php.ini
En tant qu’utilisateur disposant des privilèges root
, ouvrez votre fichier php.ini
et recherchez la valeur session.save_path
. Cela identifie l’emplacement de stockage des sessions.
Gestion de la taille de session
Voir la gestion des sessions dans le guide de l’utilisateur.
Configuration du nettoyage de la mémoire
Pour nettoyer les sessions expirées, le système appelle le gestionnaire gc
(nettoyage de la mémoire) de manière aléatoire selon une probabilité calculée par la directive gc_probability / gc_divisor
. Par exemple, si vous définissez ces directives sur 1/100
, cela signifie une probabilité de 1%
(probabilité d’un appel de nettoyage de la mémoire pour 100 requêtes).
Le gestionnaire de nettoyage de la mémoire utilise la directive gc_maxlifetime
: le nombre de secondes après lesquelles les sessions sont vues comme la mémoire et potentiellement nettoyées.
Sur certains systèmes d'exploitation (Debian/Ubuntu), la directive session.gc_probability
par défaut est 0
, ce qui empêche l'exécution du gestionnaire de nettoyage de la mémoire.
Vous pouvez remplacer les directives session.gc_
du fichier php.ini
dans le fichier <magento_root>/app/etc/env.php
:
'session' => [
'save' => 'db',
'gc_probability' => 1,
'gc_divisor' => 1000,
'gc_maxlifetime' => 1440
],
La configuration varie en fonction du trafic et des besoins spécifiques du site web du commerçant.