L'impostazione del gestore di salvataggio della sessione non riesce:
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc")
Perché questi callback a cui vuoi registrarti non esistono:
var_dump(is_callable("sess_open")); # FALSE
Questo perché i metodi dell'oggetto devono essere registrati correttamente come callback. Un callback di un metodo oggetto viene scritto sotto forma di un array con due elementi, il primo è l'oggetto, il secondo una stringa del nome del metodo. Esempio da PHP net simile al tuo:
$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')
);
Come puoi vedere, ogni metodo è scritto come un singolo array con il primo elemento $handler
sempre.
Dall'interno della classe puoi usare $this
per riferirsi allo stesso oggetto. Ma prima di scrivere completamente il tuo, controlla session_set_save_handler()
Pagina manuale di PHP
per informazioni, esempi e note fornite dagli utenti. Esistono diversi modi per organizzarlo per il tuo caso.