
Eu tenho um servidor Ubuntu 20.04 com PHP 7.4.3 (Apache 2.4.41 + mod_php) em execução, tudo deve estar no AFAIK padrão. Mas as sessões PHP não parecem estar funcionando. Ao executar o código a seguir, cada atualização da página da Web leva à mesma saída (em vez de incrementar) e a um novo arquivo de sessão em /var/lib/php/sessions
:
?php
session_start();
$_SESSION['test'] += 1;
var_dump($_SESSION['test']);
Verifiquei com diferentes navegadores (para excluir a possibilidade de meu navegador recusar o cookie de sessão) e sistemas operacionais, o problema é consistente. Executei o mesmo código em um CentOS antigo com PHP 5.3 - sem problemas. O contador aumenta após cada atualização do navegador, independentemente do navegador, e a sessão é atualizada a cada solicitação, em vez de ser recriada. Não tenho ideia de por que esse problema ocorreria.
Os direitos /var/lib/php/sessions
na máquina Ubuntu são 1733.
Responder1
Acontece que eu fui estúpido. Há um tempo atrás eu criei um Apache VHost naquele servidor e removi os cookies desse VHost via Header unset Set-Cookie
. Infelizmente esse era o VHost padrão e fiz meus testes de sessão PHP apenas com o endereço IP do servidor (ainda não tenho domínio). Descobri através das ferramentas de desenvolvedor do meu navegador - o cookie PHPSESSID nunca foi enviado no cabeçalho de resposta HTTP e então me lembrei da minha escolha estranha no VHost padrão.