Использовать unserialize () для десериализации данных сеанса в запросе консоли? - PullRequest
0 голосов
/ 17 января 2019

У меня есть требование, когда я должен изменить сеанс с запроса CONSOLE. Теперь консоль не может получить доступ к сеансу. Я все это понял. Я не могу использовать session_decode (), поскольку я нахожусь в сессии.

Но у меня проблема с десериализацией "SERIALILZED DATA" из сеанса.

Я знаю, что сериализация сеанса основана на значении php.ini.

; Обработчик, используемый для сериализации данных php, является стандартным сериализатором PHP.

session.serialize_handler = php

Я хочу знать возможные значения, которые я могу установить для session.serialize_handler в php_ini, что позволит мне десериализовать данные в консоли.

Прямо сейчас я получаю исключение. unserialize (): ошибка по смещению 0 из 8806 байт.

Я знаю, правильно ли я установил правильное значение обработчика сериализации, а затем использую тот же десериализатор в WEB, а также в CONSOLE. Я могу решить эту проблему.

Дайте мне знать возможные пути преодоления этой ситуации.

1 Ответ

0 голосов
/ 17 января 2019

Я столкнулся с этой проблемой, потому что не смог десериализовать сериализованные данные. Потому что сериализация была выполнена с другой функцией с использованием другого параметра.

Поэтому я изменил свой php_ini для использования session.serialize_handler с «php» на «php_serialize».

«php» и «php_serialize» - это разные опции, которые можно установить в соответствии с документами PHP.

поэтому переход на php_serialize помог мне выполнить несерилизацию с помощью функции PHP unserialize.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...