Problema de sessões com o PHP-FPM no Nginx

2

Eu tenho alguns problemas com as sessões que uso no meu pequeno projeto:

PHP Notice:  Undefined index: user_ID in ../config/sessions_class.php on line 29

(isso é do nginx error.log)

Se tentou definir o caminho de salvamento das sessões para o memcache e para / var / lib / php5 / sessions. Os arquivos de sessão, na verdade, são criados no diretório sessions, portanto, as permissões do usuário devem estar corretas. Atualmente, estou salvando as configurações do usuário em sessões como $ _SESSION ['user_ID'] em index.php e, em seguida, redirecionando para anotherpage.php. Se eu tentar recuperar $ _SESSION ['user_ID'] lá eu recebo o erro de índice indefinido. session_start é chamado várias vezes, mas este não deve ser o problema, eu acho.

Alguma sugestão onde o problema pode estar? Eu posso acrescentar arquivos nginx.conf ou php.ini, se desejar.

EDIT: Eu tenho o Suhosin PHP Hardening - alguma chance de isso interferir nas variáveis globais do SESSION?

    
por jcfrei 01.09.2010 / 21:54

1 resposta

1

Este é um aviso do PHP para sua matriz superglobal $ _SESSION (que se comporta como qualquer outra matriz quando um índice não está definido).

O aviso indica que, quando $ _SESSION foi verificado para uma chave chamada "user_ID", nenhum foi encontrado; você verá este aviso se tiver uma condicional como a seguinte:

if ( $_SESSION['user_ID'] != 0 ) {
  // ...
}

Uma alternativa seria usar a função isset () em $ _SESSION ['user_ID']:

if ( isset( $_SESSION['user_ID'] ) ) {
  // ...
}

Você pode considerar revisitar sua configuração de relatórios de erros se preferir deixar de ver avisos em seus registros .

    
por 01.09.2010 / 23:14

Tags