Configurare Valkey per l’archiviazione della sessione
Commerce fornisce opzioni della riga di comando per configurare l’archiviazione della sessione Valkey. Sebbene sia possibile configurare l’archiviazione della sessione modificando il file <Commerce-install-dir>/app/etc/env.php, l’utilizzo della riga di comando è il metodo consigliato, in particolare per le configurazioni iniziali. La riga di comando fornisce la convalida, garantendo che la configurazione sia sintatticamente corretta.
Configurare l’archiviazione della sessione Valkey
Eseguire il comando setup:config:set e specificare i parametri specifici di Valkey.
bin/magento setup:config:set --session-save=valkey --session-save-valkey-<parameter_name>=<parameter_value>...
-
--session-save=valkeyabilita l’archiviazione della sessione Valkey. Se questa funzione è già abilitata, ometti questo parametro. -
--session-save-valkey-<parameter_name>=<parameter_value>è un elenco di coppie parametro/valore che configurano l’archiviazione della sessione:
bin/magento setup:config:set --session-save=redis --session-save-redis-<parameter_name>=<parameter_value>...
Problemi noti con phpredis e php-fpm.
Importante: se si utilizza Valkey per più di un tipo di memorizzazione nella cache, i numeri di database devono essere diversi. È consigliabile assegnare il numero predefinito del database di memorizzazione nella cache a
0, il numero del database di memorizzazione nella cache delle pagine a 1 e il numero del database di archiviazione sessione a 2.0 per disabilitare la compressione (consigliato quando suhosin.session.encrypt = On).Impostato su uno dei seguenti, elencati in ordine dal meno dettagliato al più dettagliato:
- 0 (emergenza: solo gli errori più gravi)
- 1 (avviso: è necessaria un’azione immediata)
- 2 (critico: componente applicazione non disponibile)
- 3 (errore: errori di runtime, non critici ma da monitorare)
- 4 (avviso: informazioni aggiuntive, consigliato)
- 5 (nota: condizione normale ma significativa)
- 6 (informazioni: messaggi informativi)
- 7 (debug: la maggior parte delle informazioni solo per lo sviluppo o il testing)
0 per disabilitare.0 per disabilitare.0 per disabilitare.Esempio
Nell’esempio seguente Valkey viene impostato come archivio dati della sessione, l’host viene impostato su 127.0.0.1, il livello di log viene impostato su 4 e il numero di database su 2. Tutti gli altri parametri vengono impostati sul valore predefinito.
bin/magento setup:config:set --session-save=valkey --session-save-valkey-host=127.0.0.1 --session-save-valkey-log-level=4 --session-save-valkey-db=2
bin/magento setup:config:set --session-save=redis --session-save-redis-host=127.0.0.1 --session-save-redis-log-level=4 --session-save-redis-db=2
Risultato
Commerce aggiunge a <magento_root>app/etc/env.php righe simili alle seguenti:
'session' => [
'save' => 'valkey',
'redis' => [
'host' => '127.0.0.1',
'port' => '6379',
'password' => '',
'timeout' => '2.5',
'persistent_identifier' => '',
'database' => '2',
'compression_threshold' => '2048',
'compression_library' => 'gzip',
'log_level' => '4',
'max_concurrency' => '6',
'break_after_frontend' => '5',
'break_after_adminhtml' => '30',
'first_lifetime' => '600',
'bot_first_lifetime' => '60',
'bot_lifetime' => '7200',
'disable_locking' => '0',
'min_lifetime' => '60',
'max_lifetime' => '2592000',
],
],
0 (il valore predefinito è 3600), le sessioni Valkey scadranno nel numero di secondi specificato in min_lifetime (il valore predefinito è 60). Questa discrepanza è dovuta a differenze nel modo in cui Valkey e i cookie di sessione interpretano un valore del ciclo di vita di 0. Se questo comportamento non è desiderato, aumenta il valore di min_lifetime.Verifica connessione Valkey
Per verificare che Valkey e Commerce funzionino correttamente, accedere al server in cui Valkey è in esecuzione, aprire un terminale e utilizzare il comando valkey-cli monitor o il comando redis-cli ping.
Comando di monitoraggio Valkey
valkey-cli monitor
Esempio di output di archiviazione sessione:
1476824834.187250 [0 127.0.0.1:52353] "select" "0"
1476824834.187587 [0 127.0.0.1:52353] "hmget" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "data" "writes"
1476824834.187939 [0 127.0.0.1:52353] "expire" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "1200"
1476824834.257226 [0 127.0.0.1:52353] "select" "0"
1476824834.257239 [0 127.0.0.1:52353] "hmset" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "data" "_session_validator_data|a:4:{s:11:\"remote_addr\";s:12:\"10.235.34.14\";s:8:\"http_via\";s:0:\"\";s:20:\"http_x_forwarded_for\";s:0:\"\";s:15:\"http_user_agent\";s:115:\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36\";}_session_hosts|a:1:{s:12:\"10.235.32.10\";b:1;}admin|a:0:{}default|a:2:{s:9:\"_form_key\";s:16:\"e331ugBN7vRjGMgk\";s:12:\"visitor_data\";a:3:{s:13:\"last_visit_at\";s:19:\"2016-10-18 21:06:37\";s:10:\"session_id\";s:26:\"sgmeh2k3t7obl2tsot3h2ss0p1\";s:10:\"visitor_id\";s:1:\"9\";}}adminhtml|a:0:{}customer_base|a:1:{s:20:\"customer_segment_ids\";a:1:{i:1;a:0:{}}}checkout|a:0:{}" "lock" "0"
... more ...
Comando ping Valkey
valkey-cli ping
Risposta prevista: PONG.
Se entrambi i comandi sono riusciti, Valkey viene configurato correttamente.
Analisi dei dati compressi
Per verificare i dati di sessione compressi e la cache delle pagine, RESP.app supporta la decompressione automatica della cache delle pagine e delle sessioni di Commerce 2 e visualizza i dati di sessione PHP in un formato leggibile dall’utente.