Đối mặt với sự cố với chức năng PHP unserialize()
có tiêu đề là lỗi đang ném.Đọc dữ liệu phiên từ tệp bộ nhớ phiên
unserialize() [function.unserialize]: Error at offset 0 of 1781 bytes
Tôi cũng đã thử session_decode()
mà trở bool(false)
magic_quotes_gpc
là Off
.
Vâng, tôi đang đọc nội dung của tệp được đăng theo thứ tự. Nội dung tệp trông giống như bên dưới.
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: "tin nhắn"; O: 34: "Mage_Core_Model_Message_Collection": 2: {s: 12: "^ @ *^@ _ tin nhắn"; a: 0: {} s: 20: "^ @ *^@ _ lastAddedMessage"; N ;}} khách hàng | 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: 19:" wishlist_item_count "; i: 0 ;} danh mục | 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:" thư "; O: 34:" Mage_Core_Model_Message_Collection ": 2: {s: 12:"^@ *^@ _ thư "; a: 0: {} s: 20:"^@ *^@ _ lastAddedMessage "; N;}} thanh toán | 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:" thư "; O : 34: "Mage_Core_Model_Message_Collection": 2: {s: 12: "^ @ *^@ _ thư"; a: 0: {} s: 20: "^ @ *^@ _ lastAddedMessage"; N;}}
mã PHP của tôi là belo w
$file='/var/www/html/products/var/session/sess_0ehb7ek0hmunqo3kq70t0t6mb0';
$contents=file_get_contents($file);
$data = unserialize($contents);
var_dump($data);
Tôi đã thử stripslashes()
trước khi unserializing dữ liệu. Không chắc chắn đâu là vấn đề trong dữ liệu. Tôi không thể thay đổi cơ chế lưu trữ dữ liệu vào tệp vì điều này được xử lý bởi Magento cho phiên quản lý ở cấp Tệp.
Tôi không chắc chắn lý do tại sao, nhưng nội dung chứa 3 biến riêng biệt (loại lõi, khách hàng và thanh toán). Có lẽ đó là nguyên nhân gây ra vấn đề trong unserialize? –
@kevin: Có, nó chứa. Có vấn đề gì không? –
Tôi tin rằng (không chính xác tích cực) mà bạn chỉ có thể [de] serialize một biến cùng một lúc. Bạn đã cố gắng tách chúng ra và unserializing những người? –