Спасите, как исправить ошибку в D7 Notice: unserialize() [function.unserialize]: Error at offset 2 of 21 bytes in variable_initialize() (line 1174 of /home/user4344/public_html/includes/bootstrap.inc).
Точно, так и есть. И косякнул я сам. Дело было так. Забыл пароль от админки, поменял в базе email, востановил пароль и эта хрень начала вылазить. Буду читать как востановить пароль прямо, а не через эадний проход.
Спасибо.
У меня была такая хрень. Проблема вот в чём - в некоторых переменных могут быть прописаны пути к файлам. В путях есть имя пользователя в системе. И если на новом хостинге количество символов в имени пользователя другое, то произойдет ошибка десериализации. Я такое решил, выкачав блобы переменных и в текстовом редакторе подправил их, а потом залил обратно, там было всего штук 5 таких переменных, заняло минут 10. Но как вариант, можно анинсталлить модули, которые задают эти переменные, а потом включить их обратно.
Ошибка десериализации произойдёт если вот так вот руками править, как вы советуете, не обращая внимание на длину и тип переменной.
Если длина строки не будет совпадать с объявленной длиной - ошибка десериализации.
Если руками изменяешь, то нужно пересчитывать посимвольно.
Изменение путей и прочих значений переменных вообще не относится к этой ошибке.
Вы не поняли. При переносе баз хостеры прогоняют базы скриптом, который меняет старые абсолютные пути на новые, естественно, он просто меняет один текст на другой, не вникая, сериализован он или нет. И вот после этого и приходится вручную править параметр длины строк.
Комментарии
Скорее всего, косякнули при переносе дампа и одна из переменных в variables побилась.
https://www.drupal.org/project/variablecheck
Точно, так и есть. И косякнул я сам. Дело было так. Забыл пароль от админки, поменял в базе email, востановил пароль и эта хрень начала вылазить. Буду читать как востановить пароль прямо, а не через эадний проход.
Спасибо.
Я относительно долго не хотел знакомится с драш.
Но познакомившись мы стали друзьями.
drush uli
У меня была такая хрень. Проблема вот в чём - в некоторых переменных могут быть прописаны пути к файлам. В путях есть имя пользователя в системе. И если на новом хостинге количество символов в имени пользователя другое, то произойдет ошибка десериализации. Я такое решил, выкачав блобы переменных и в текстовом редакторе подправил их, а потом залил обратно, там было всего штук 5 таких переменных, заняло минут 10. Но как вариант, можно анинсталлить модули, которые задают эти переменные, а потом включить их обратно.
Ошибка десериализации произойдёт если вот так вот руками править, как вы советуете, не обращая внимание на длину и тип переменной.
Если длина строки не будет совпадать с объявленной длиной - ошибка десериализации.
Если руками изменяешь, то нужно пересчитывать посимвольно.
Изменение путей и прочих значений переменных вообще не относится к этой ошибке.
Вы не поняли. При переносе баз хостеры прогоняют базы скриптом, который меняет старые абсолютные пути на новые, естественно, он просто меняет один текст на другой, не вникая, сериализован он или нет. И вот после этого и приходится вручную править параметр длины строк.
Да не стоит спорить. Я вспомнил (подобрал) пароль и все. Не меняя никаких путей.