Пользовательские функции обработчика сессий в PHP 7.2 - PullRequest
0 голосов
/ 19 марта 2019

Я сохраняю сеансы в таблице MySQL, используя пользовательские методы.

private static function load()
{
    session_module_name("user");
    session_set_save_handler(['\CB\Session', 'open'],
                             ['\CB\Session', 'close'],
                             ['\CB\Session', 'read'],
                             ['\CB\Session', 'write'],
                             ['\CB\Session', 'remove'],
                             ['\CB\Session', 'gc']
                             );
    session_start();       
}

Теперь я должен был закомментировать session_module_name("user");, так как он удален в PHP 7.2. Но теперь я получаю ошибку:

Предупреждение: session_start (): не удалось прочитать данные сеанса: пользователь (путь: / var / lib / php / session) в /home/username/path/lib/CB/Session.php в линия 38

Почему он пытается читать / записывать сессии в / var / lib / php / session, когда мои функции записывают / читают их в таблицу MySQL. (И моя таблица MySQL не заполняется)

1 Ответ

0 голосов
/ 19 марта 2019

Нашел ответ в http://php.net/manual/en/function.session-start.php#120589
Моя функция чтения должна проверить данные сеанса на ноль и вернуть '', если так.
Я не знаю, является ли это новшеством в PHP или ошибкой.

...