Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Не работает unserialize

Не работает unserialize


     31.03.2013    php, serialize, unserialize    Все вопросы » Общие вопросы по PHP    5279

вопрос
Всем привет. Вчера впервые столкнулся в проблемой, когда в скрипте не отрабатывается функция unserialize.

Что интересно. Функция serialize(); работает корректно и возвращает строку. А при попытке распаковать данные обратно в массив не возвращает ничего.

Комбинации типа:
var_dump(unserialize($str))
возращает заветное: bool(false).

Я погуглил и выявил 2 предполагаемые причины этому:
  1. Парсер изжирает кусочки сериализованной строки
  2. magic_quotes_gpc On в настройках php


Парсер ничего не портит. Преобразованную строку я вставил в скрипт на другом серваке и он всё хорошо выдал.
В настройках сервера выставили:
magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off


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

Ответа пока нет


3 комментария

nowheremany
Эксперт

nowheremany - 31 марта 2013 15:42 -

Не судьба сделать так?
var_dump(unserialize(serialize(array('blabla'))));


Так ты проверишь magic_quotes_gpc, остальное сам ковыряйся

Благодарность принимаю тут Связь

rashpil
Эксперт

rashpil - 31 марта 2013 19:39 -

Сделал. Вернуло следующее:
array(1) { [0]=> string(6) "blabla" }


А в скрипте не работало...

BR0kEN
Эксперт

BR0kEN - 1 апреля 2013 01:42 -

Возможно банально, но не пробовали ли создать отдельный от основного скрипта файл и произвести serialize и unserialize "с чистого листа"?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх