Manipulador de sessão PHP usando redis não funciona

Manipulador de sessão PHP usando redis não funciona

Eu estava configurando 3 servidores:

192.168.7.147:6379 <-- redis server
192.168.7.162 <-- web server 1 (using phpredis, with local devdomain jttest.com )
192.168.7.218 <-- web server 1 (using phpredis, with local devdomain jttest.com )

ambos 192.168.7.162 e 192.168.7.218 usandophp.iniconfiguração exatamente como estas:

extension=redis.so
session.save_handler = redis
session.save_path = tcp://192.168.7.147:6379

também reiniciei o apache e o redis depois de alterar essas opções, é claro que posso usar a função básica do redis dentro do meu código php

Os problemas começam aqui, consigo fazer login em 192.168.7.162 usando a chamada de sessão padrão do php (session_start()) mas a sessão não pode ser recuperada em 192.168.7.218 e vice-versa, em palavras simples,sessão redis não compartilhada.

dentro de 192.168.7.147, não consegui obter as chaves relacionadas à sessão (o nome da sessão é PHPREDIS_SESSION), veja o resultado que recebo do redis-cli

redis 127.0.0.1:6379> keys *
1) "attribute"
2) "test"
redis 127.0.0.1:6379>

mais uma coisa, em 192.168.7.218php ainda salva a sessão usando arquivos, não usando redis

[root@centos_wira_devel session]# ll
total 8
-rw------- 1 apache apache 792 Feb 26 16:29 sess_1nm86s67o1o696cgopmrc2hq75
-rw------- 1 apache apache 792 Feb 26 16:41 sess_hhmompfoqjh0emoofppg4v5lp2

para informações, no meu navegador, cookie para sessão (192.168.7.162 e 192.168.7.218) salvo como ['PHPREDIS_SESSION'] = hhmompfoqjh0emoofppg4v5lp2

na página phpredis não encontrei nenhum FAQ sobre este caso (https://github.com/phpredis/phpredis), eu não sabia onde estava a etapa que estava faltando.

Responder1

As configurações das sessões podem ser alteradas em outros arquivos de configuração, exceto php.ini. Isso pode ser confirmado verificando a seção "sessão" da saída do phpinfo(). Caso os valores da coluna “Valor Local” sejam diferentes daqueles da coluna “Valor Mestre”, outros arquivos deverão ser inspecionados.
Especificamente no Centos, no servidor 192.168.7.162, é muito provável que o session.save_handler esteja configurado como "files", em /etc/httpd/conf.d/php.conf .

Responder2

Verifique também a configuração do php-fpm. Depois de uma longa inspeção, encontrei isso. Se você estiver no Linux faça greppara descobrir onde e sua configuração foi modificada, por exemplo grep -r "save_handler" /etc/será fazer uma pesquisa de texto e revelar os arquivos.

/etc/php-fpm.d/www.conf

informação relacionada