Столкнувшись с проблемой с функцией PHP unserialize()
, под названием «ошибка выброса».
unserialize() [function.unserialize]: Error at offset 0 of 1781 bytes
Я также попытался session_decode()
, который возвращает bool(false)
magic_quotes_gpc
, равный Off
.
Хорошо, я читаю содержимое файла, который сериализован.Содержимое файла выглядит следующим образом.
core | a: 3: {s: 23: "_ session_validator_data"; a: 4: {s: 11: "remote_addr"; s: 15: "117.241.113.248 "; s: 8:" http_via "; s: 0:" "; s: 20:" http_x_forwarded_for "; s: 0:" "; s: 15:" http_user_agent "; s: 90:" Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9.2.13) Gecko / 20101203 Firefox / 3.6.13 ";} s: 13:" session_hosts "; a: 1: {s: 12:" "b: 1;} s: 8: "сообщения"; O: 34: "Mage_Core_Model_Message_Collection": 2: {ы: 12: "^ @ * ^ @ _ сообщения"; а: 0: {} s: 20: "^ @ *^ @ _ lastAddedMessage "; N;}} клиент | а: 3: {s: 23:" _ session_validator_data "а: 4: {s: 11:" remote_addr "; s: 15:" 117.241.113.248" ; s: 8: "http_via"; s: 0: ""; s: 20: "http_x_forwarded_for"; s: 0: ""; s: 15: "http_user_agent"; s: 90: "Mozilla / 5.0 (Windows; U; Windows NT5.1; en-US; rv: 1.9.2.13) Gecko / 20101203 Firefox / 3.6.13 ";} s: 13:" session_hosts "; a: 1: {s: 12:" "; b: 1;} s:19: "wishlist_item_count"; я: 0;} Каталог | а: 3: {s: 23: "_ session_validator_data"; а: 4: {s: 11: "remote_addr"; s: 15: "117.241.113.248"; s: 8: "HTTP_VIA"; s: 0: ""; s: 20: "HTTP_X_FORWARDED_FOR"; s: 0: ""; s: 15: "HTTP_USER_AGENT"; s: 90: "Моzilla / 5.0 (Windows;U;Windows NT 5.1;EN-US;rv: 1.9.2.13) Gecko / 20101203 Firefox / 3.6.13 ";} s: 13:" session_hosts "; a: 1: {s: 12:" "; b: 1;} s: 8:" messages ";O: 34: "Mage_Core_Model_Message_Collection": 2: {ы: 12: "^ @ * ^ @ _ сообщения"; а: 0: {} s: 20: "^ @ * ^ @ _ lastAddedMessage"; N;}} контроль |: 3: {s: 23: "_ session_validator_data"; а: 4: {s: 11: "remote_addr"; s: 15: "117.241.113.248"; s: 8: "HTTP_VIA"; s: 0: "";s: 20: "http_x_forwarded_for"; s: 0: ""; s: 15: "http_user_agent"; s: 90: "Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9.2.13)Gecko / 20101203 Firefox / 3.6.13 ";} s: 13:" session_hosts "; a: 1: {s: 12:" "; b: 1;} s: 8:" messages "; O: 34:" Mage_Core_Model_Message_Collection": 2: {s: 12:" ^ @ * ^ @ _ messages "; a: 0: {} s: 20:" ^ @ * ^ @ _ lastAddedMessage "; N;}}
мой код PHP ниже
$file='/var/www/html/products/var/session/sess_0ehb7ek0hmunqo3kq70t0t6mb0';
$contents=file_get_contents($file);
$data = unserialize($contents);
var_dump($data);
Я уже пробовал stripslashes()
перед десериализацией данных. Не уверен, где проблема в данных. Я не могу изменить механизм хранения данных в файл, потому что это обрабатываетсяMagento за управление сеансом на уровне файлов.