Percorso di archiviazione sessione

Questo argomento illustra come individuare la posizione in cui sono archiviati i file di sessione. Per memorizzare i file di sessione, il sistema utilizza la logica seguente:

Esempio in env.php

Di seguito è riportato uno snippet di esempio da <magento_root>/app/etc/env.php:

 'session' => [
     'save' => 'files',
     'save_path' => '/var/www/session'
 ],

Nell'esempio precedente i file di sessione vengono archiviati in /var/www/session

Esempio in php.ini

Come utente con privilegi di root, apri il file php.ini e cerca il valore di session.save_path. Questo identifica dove vengono memorizzate le sessioni.

Gestisci dimensioni sessione

Consulta la Gestione delle sessioni nella Guida utente.

Configurazione della raccolta di oggetti inattivi

Per pulire le sessioni scadute, il sistema chiama il gestore gc (garbage collection) in modo casuale in base a una probabilità calcolata dalla direttiva gc_probability / gc_divisor. Ad esempio, se imposti queste direttive rispettivamente su 1/100, ciò significa una probabilità di 1% (probabilità di una chiamata di Garbage Collection per 100 richieste).

Il gestore di Garbage Collection utilizza la direttiva gc_maxlifetime, ovvero il numero di secondi dopo i quali le sessioni vengono visualizzate come garbage e potenzialmente pulite.

In alcuni sistemi operativi (Debian/Ubuntu), la direttiva session.gc_probability predefinita è 0, che impedisce l'esecuzione del gestore di Garbage Collection.

È possibile sovrascrivere le direttive session.gc_ dal file php.ini nel file <magento_root>/app/etc/env.php:

 'session' => [
     'save' => 'db',
     'gc_probability' => 1,
     'gc_divisor' => 1000,
     'gc_maxlifetime' => 1440
 ],

La configurazione varia a seconda del traffico e delle esigenze specifiche del sito web del commerciante.

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