Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Session_set_save_handler não está configurando


A configuração do manipulador de salvamento de sessão falha:
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc")

Porque esses retornos de chamada para os quais você deseja se registrar não existem:
var_dump(is_callable("sess_open")); # FALSE

Isso ocorre porque seus métodos de objeto precisam ser registrados corretamente como retornos de chamada. Um retorno de chamada de método de objeto é escrito na forma de um array com dois elementos, o primeiro é o objeto, o segundo uma string do nome do método. Exemplo da rede PHP que é semelhante ao seu:
$handler = new FileSessionHandler();
session_set_save_handler(
    array($handler, 'open'),
    array($handler, 'close'),
    array($handler, 'read'),
    array($handler, 'write'),
    array($handler, 'destroy'),
    array($handler, 'gc')
);

Como você pode ver, cada método é escrito como um único array com o primeiro elemento $handler sempre.

De dentro da classe você pode usar $this para se referir ao mesmo objeto. Mas antes de escrever completamente o seu, verifique o session_set_save_handler() Página de manual do PHP para informações, exemplos e notas de contribuição de usuários. Existem diferentes maneiras de organizar isso para o seu caso.