2011-06-21 42 views
5

Khi tôi bật bộ nhớ cache trong Magento, tôi nhận được ngoại lệ sau đây:Việc tuần tự hóa không được phép trong Magento?

serialization của 'Mage_Core_Model_Layout_Element' không được phép

ngoại lệ xảy ra trong app/code/core/Mage/Page/Block/Template/Links.php, trên đường dây:

return parent::getCacheKeyInfo() + array(
      'links' => base64_encode(serialize($links)), 
      'name' => $this->getNameInLayout() 
     ) 

Tôi đang sử dụng Magento Enterprise 1.10 và PHP 5.3.

Có ai cho tôi biết vấn đề là gì không?

Trả lời

8

Bạn không được để trống thẻ after_text hoặc before_text trong tệp bố cục của mình. Nếu bạn không cần, chỉ cần xóa thẻ.

Nếu nó không trợ giúp, hãy đổ biến số $links trước dòng thứ 150 trong tệp ứng dụng/mã/lõi/Mage/Trang/khối/mẫu/Links.php và bạn sẽ thấy một mảng có mảng bên trong nó. Tất cả các khóa và giá trị phải là chuỗi hoặc số nguyên, không phải là đối tượng. Khóa của giá trị mảng là một đối tượng sẽ cho bạn biết thẻ nào cần xóa khỏi tệp bố cục.

+0

Awesome !!! Cảm ơn người đàn ông – RIK

1

Tuyệt vời @vsushkov.

tôi đã sử dụng: try{ serialize($links); } catch(Exception $e){ Mage::log($links); die; } để tìm hiểu cách bố trí chính xác nơi chúng tôi đã có những thẻ trống và sau khi loại bỏ những thẻ trống, nó cố định vấn đề và sau đó loại bỏ mã ở trên :-)

0

Saw vấn đề này trên một khách hàng trang web. Không có giải pháp nào ở trên phù hợp với tôi. Sau nhiều googling của lỗi, nó có vẻ là liên quan đến JM hoặc JoomlArt chủ đề/phần mở rộng. Mã được viết rất kém. Ví dụ một số điều bạn sẽ tìm thấy trong các chủ đề này bao gồm: Tuyên bố các lớp php bên trong các mẫu, Đặt các biến toàn cục bên trong các mẫu, Đặt dữ liệu thành siêu siêu mẫu từ các mẫu, Cung cấp tệp dịch, chưa gói hầu hết các chuỗi văn bản trong mẫu trong chức năng dịch

Tôi đã tìm thấy 1 câu trả lời từ nhân viên hỗ trợ của họ về cơ bản đề xuất tắt báo cáo lỗi để khắc phục sự cố.

Tôi đã tìm thấy sự cố của mình trong ứng dụng/thiết kế/lối vào/mặc định/jm_adamite/mẫu/danh mục/điều hướng/tops.phtml Có một dòng thiết lập $ this thành $ _SESSION. Tôi đã nhận xét nó và lỗi đã biến mất. Không có gì khác xuất hiện bị hỏng. Một grep cho biến đó đang được sử dụng ở bất kỳ nơi nào khác có 0 kết quả. Nếu bạn có một trong những phần mở rộng JM được cài đặt hoặc sử dụng một trong các chủ đề của họ, tôi sẽ nghi ngờ rằng đầu tiên Chúc may mắn

0

Sự cố này xảy ra với tôi khi cố gắng sắp xếp các danh mục sau khi gọi hàm getCategoryUrl sau khi đào tôi phát hiện ra rằng thiết _urlModel đối tượng mà không thể được đăng vì nó có chứa Mage_Core_Model_Layout_Element vì vậy trước khi serializing việc kiểm tra đối tượng nếu nó có mà tài sản _urlModel

enter image description here

Các vấn đề liên quan