Какое значение имеет "czowOiIiOw ==" - PullRequest
2 голосов
/ 24 мая 2011

В моем конкретном случае я получаю эту ошибку после обновления ExpressionEngine с 1.x до 2.x.Существует таблица, которая управляет настройками сайта, а данные для каждого поля представляют собой сериализованный массив PHP.После обновления любой сериализованный массив вместо этого просто говорит czowOiIiOw==.Поиск этой строки в Google приводит к появлению других форумов, не связанных с ExpressionEngine, на которых конечные пользователи сообщают, что видели эту строку, но не могут войти в систему.это раньше?

Ответы [ 4 ]

4 голосов
/ 24 мая 2011

Это кодировка сериализации пустой строки.

>>> 'czowOiIiOw=='.decode('base64')
's:0:"";'

Каким-то образом ваши предпочтения были стерты.

3 голосов
/ 24 мая 2011

в кодировке base64.это:

s:0:"";
2 голосов
/ 24 мая 2011

Это версия s:0:"" в кодировке base64, представляющая собой сериализованную пустую строку PHP.

2 голосов
/ 24 мая 2011

Расшифровывая его как base64 , оно становится:

s:0:"";

Как видите, если вы выполните следующую строку, это сериализованная пустая строка :

echo serialize(""); // Outputs s:0:"";
echo base64_encode(serialize("")); // Outputs czowOiIiOw==

Для получения дополнительной информации о спецификации сериализации см. Работа этого щедрого комментатора , в частности строки:

Anatomy of a serialize()'ed value:  
...  
  String  
  s:size:value;  
...