Unserialize()… Error at offset… index.php OpenCart

surprise

При переносе сайта на OpenCart с одного хостинга на другой, заметил ошибку связанную с Unserialize()… Error at offset… .

Ранее я с ней не встречался, поиск в интернете приводил к разным вариантам решениям:

  • изменить тип поля value на LONGTEXT в таблице setting и т.п.
  • выполнить команду в phpadmin DELETE FROM setting WHERE group = ‘welcome’

Кому-то это помогало, кому-то нет.

Я знаю что приводит данную ошибку и как её исправить.

 

1. Что вызывает ошибку?

Ошибку вызывает слишком длинная запись в поле value в таблице setting. Откройте phpadmin и посмотрите поле value с большим количеством данных, они как правило не помещаются и помечаются троеточием.

db_offset_error

(картинка кликабельная)
У меня на строке с key «welcome_module» запись в value была явно длинее других. Вот она и вызывает ошибку.

 

 2. Как исправить?

Просто удаляем длинное содержимое value и ошибка исчезнет.
В моем случае, ошибка была из-за длинной записи модуля welcome_module, если у вас аналогичная ситуация, то, заходим в панель управления, находим проблемный модуль, удаляем и устанавливаем повторно.

____________________________________________________________________________________________

Если это не помогло, выход один, перебираем каждое value по очереди, удаляем и смотрим, исчезла ли ошибка.
Таким перебором, однажды я обнаружил, что напротив поля «config_mail» значение value вызывало данную ошибку. Удали значение value, ошибка исчезла.




Буду признателен если вы поделитесь данным постом


Ваш комментарий


Ответ в цифрах

 
© s-engineer.ru, 2012-2017 | Все права защищены