memcache e a sessão do memcached não persistem

1

então estou tendo um problema com sessões persistentes em um aplicativo, que está usando o driver php memcached, enquanto outro aplicativo existente está usando o driver memcache.

No servidor, vejo que ambos estão instalados

Eu também vejo na configuração do php que os manipuladores de salvamento registrados incluem memcache e memcached, no entanto, o valor de configuração "session.save_handler" do php é definido como memcache

Seria essa a razão pela qual as sessões não funcionam no aplicativo tentando usar o driver do memcached? Ou se isso funcionar também, já que o memcached, embora não seja o padrão, é um manipulador de salvamento registrado.

Sei que o daemon e a conexão do memcached estão funcionando, pois estou salvando o cache com êxito durante o uso do driver do memcached.

Como eu resolvo esse problema? Ele pode apresentar erros ou registros em algum lugar?

    
por Alexo 16.07.2014 / 22:00

1 resposta

1

Verifique sua configuração session.gc_maxlifetime. Qualquer coisa maior que 60 * 60 * 24 * 30 fará com que o memcache expire sua chave de sessão logo após o armazenamento do PHP.

O protocolo Memcache especifica que qualquer número maior que 60 * 60 * 24 * 30 será tratado como o tempo absoluto do unix em vez de um deslocamento da hora atual:

Some commands involve a client sending some kind of expiration time (relative to an item or to an operation requested by the client) to the server. In all such cases, the actual value sent may either be Unix time (number of seconds since January 1, 1970, as a 32-bit value), or a number of seconds starting from current time. In the latter case, this number of seconds may not exceed 60*60*24*30 (number of seconds in 30 days); if the number sent by a client is larger than that, the server will consider it to be real Unix time value rather than an offset from current time.

(Veja link )

O manipulador de sessão PHP apenas usa o session.gc_maxlifetime como o tempo de expiração para a chave de sessão, sem fazer nenhuma alteração nele.

Detalhes em: link (divulgação: eu escrevi o post).

    
por 30.07.2014 / 01:04