Ustawienie obsługi zapisywania sesji nie powiodło się:
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc")
Ponieważ te wywołania zwrotne, do których chcesz się zarejestrować, nie istnieją:
var_dump(is_callable("sess_open")); # FALSE
Dzieje się tak, ponieważ metody obiektów muszą być poprawnie zarejestrowane jako wywołania zwrotne. Callback metody obiektowej jest zapisany w postaci tablicy składającej się z dwóch elementów, z których pierwszy to obiekt, a drugi łańcuch o nazwie metody. Przykład z sieci PHP, który jest podobny do twojego:
$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')
);
Jak widać, każda metoda jest zapisana jako pojedyncza tablica z pierwszym elementem $handler
zawsze.
Z poziomu klasy możesz użyć $this
odnosić się do tego samego obiektu. Ale zanim w pełni napiszesz swój własny, sprawdź session_set_save_handler()
Strona podręcznika PHP
dla informacji, przykładów i notatek użytkowników. Istnieją różne sposoby na zorganizowanie tego w swojej sprawie.