[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Emplacement de stockage de la session

Cette rubrique explique comment localiser l’emplacement de stockage de vos fichiers de session. Le système utilise la logique suivante pour stocker les fichiers de session :

  • Si vous avez configuré memcached, les sessions sont stockées dans la RAM ; voir Utiliser memcached pour le stockage des sessions.

  • 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 l’espace de stockage de session basé sur des fichiers par défaut, les sessions sont stockées aux emplacements suivants dans l’ordre indiqué :

    1. Répertoire défini dans env.php
    2. Répertoire défini dans php.ini
    3. répertoire <magento_root>/var/session

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 les fichiers de session dans /var/www/session

Exemple dans php.ini

En tant qu’utilisateur disposant de droits d’root, ouvrez votre fichier php.ini et recherchez la valeur de session.save_path. Cela identifie l’emplacement de stockage des sessions.

Gérer 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 en fonction d’une probabilité calculée par la directive gc_probability / gc_divisor. Par exemple, si vous définissez ces directives sur 1/100 respectivement, cela signifie une probabilité de 1% (probabilité d’un appel de nettoyage pour 100 requêtes).

Le gestionnaire de récupération de l’espace mémoire utilise la directive gc_maxlifetime, à savoir le nombre de secondes après lesquelles les sessions sont vues comme espace 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 le gestionnaire de récupération de l’espace mémoire de s’exécuter.

Vous pouvez remplacer les directives session.gc_ à partir 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.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c