Установка session_set_save_handler только для одной страницы

В моем php.ini у меня есть следующий набор:

session.save_handler = redis
session.save_path = "tcp://localhost:6379?weight=1"

Но я хочу сохранить этот набор, так как он работает с этой системой, которую я использую, но единственное, что, когда я пытаюсь создать сессию, это дает мне ошибки.

Проблема в том, что я пытаюсь установить обработчик сохранения тогда как файлы ТОЛЬКО для моего login.php, а затем после этого использовать redis.

У меня есть следующий код в моем файле, но не меняется с redis на файлы:

session_set_save_handler('files');
session_save_path("/tmp/");
session_start(); // Starting Session

1

Решение

session_set_save_handler функция не совсем то же самое, что session.set_handler конфигурация директивы. Бывший ожидает вызываемый тип в качестве первого аргумента, тогда как последний ожидает скалярное значение в качестве одного из зарегистрированных обработчиков в PHP.

То, что вы хотите, это сказать ini_set('session.save_handler', 'files'),

Когда вы устанавливаете session.save_path для redis обработчик сеанса, вы должны избегать использования имен хостов, которые не могут быть разрешены напрямую через ваш DNS-преобразователь. Это почти все, что вы положили в /etc/hosts лайк localhost, Вместо этого попробуйте использовать IP-адрес, который Redis прослушивает напрямую, например: 127.0.0.1, Причина в том, что PHP не будет пытаться смотреть на /etc/hosts непосредственно при разрешении имени хоста.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]