За последние 24 часа нас посетили 17830 программистов и 1676 роботов. Сейчас ищут 1008 программистов ...

Собственный обработчик хранения сессий

Тема в разделе "PHP для новичков", создана пользователем pircul, 24 фев 2015.

  1. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Мне нужно написать собственный обработчик сессий для того что бы в дальнейшем можно было переопределять хранилище сессий из одной точки приложения. За этим я обратился к реализации интерфейса SessionHandlerInterface. Использовал пример отсюда http://php.net/manual/en/class.sessionhandlerinterface.html но есть проблема, методы вызываются, в них я могу выполнить свой код(как пример - сохранить данные сессии в БД). Но PHP продолжает использовать свой механизм хранения сессионных данных в файлах. А хранение сессий в БД и в ФС одновременно мне не нужно. Нужно что бы хранение было либо тут либо там. Надо что бы пхп просто вызывал соответствующие методы при операции с сессиями. Если приложение читает данные из сессии, что бы вызывался метод read и т.д. Как решить эти проблемы?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ты переопределил session.save_handler и это видно через phpinfo() но всё равно сохраняет?
    Ещё можно хранить файлы в /dev/null шутка :)
     
  3. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    По приведенной вами ссылке же прям в первом абзаце написано, что нужно сделать.
    http://php.ru/manual/function.session-set-save-handler.html

    Добавлено спустя 1 минуту 38 секунд:
    session.save_handler - это для хендлеров, которые экстеншены предоставляют. Не для своего PHP кода.
     
  4. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Я вызвал session_set_save_handler() но проблему это не решило. В дополнение к этому, свойство savePath не получается переопределить. Если я задаю ему собственное значение пхп его перезаписывает. Код из ссылки копировал полностью до session_start

    Добавлено спустя 1 минуту 17 секунд:
    denis01, какое значение должно быть в phpinfo?
     
  5. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Значит не так вызвал.
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    phpinfo() session.save_handler пишет user и отображение ошибок включено и их нету?
    Может session.save_path пустая? Бывает без неё пример из документации не работает.
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    это все взаимодействует с куки, лучше айди, активация хранить в локальном хранилище

    Добавлено спустя 15 минут 34 секунды:
    помню свой обработчик сессий замутил без сесси_старт() в бд записывал, все это хранилось в куки до закрытия браузера