Проблемы с сохранением сеанса, получение PHP Неустранимая ошибка: Исключение выбрано без рамки стека Неизвестно в строке 0

Хорошо, поэтому я написал интеграцию с решением стороннего управления заказами внутри платформы Magento Ecommerce, которая построена поверх Zend Framework. Все отлично работает на моем локальном компьютере, а также на моем локальном dev-сервере. Оба сервера используют PHP 5.2.x. При развертывании на промежуточном сервере, который использует PHP 5.3.3, я теперь получаю эту ошибку в части моего кода

PHP Неустранимая ошибка: Исключение выбрано без рамки стека Неизвестно в строке 0

Я пробовал комментировать фрагменты кода, чтобы увидеть, с чем я могу сузить его, но не настолько удачлив. Я запускаю код в наблюдателе Magento, который вызывает созданную мной модель, которая также устанавливает некоторые переменные в сеансе. У меня есть много методов, вызывающих другие классы, такие как мой наблюдатель вызывает мою модель заказа, которая также вызывает мою модель клиента, и все они называют несколько разных методов внутри своих классов. Его было трудно отлаживать на сервере, записывая и комментируя строки, я не добился хороших результатов.

Из исследования, которое я сделал, это кажется мне более похожим на то, что я пытаюсь установить на сеанс, умирает в деструкторе. Я попытался использовать session_write_close () в конце моего метода наблюдателя, прежде чем он вернется, чтобы он мог показать мне ошибку ранее, но фактически это заставило мою программу не умереть, и она работала, как предполагалось. Я не уверен, что мне удобно оставить это там, потому что я уверен, что это может испортить остальную часть потока, но я не настолько осведомлен об этом.

Я просто пытаюсь понять, что лучший способ отладить это. Я не понимаю, почему это работает, когда вы добавляете это и что может умереть в деструкторе, очевидно, я не бросаю исключение в деструктор, но что-то я делаю. Но он отлично работал, пока я не поставил код на промежуточном сервере. К слову, также используется nginx вместо apache.

Прежде всего, эти вещи трудно отлаживать. Я думаю, что проблема заключается в сериализации. Прежде чем объект будет сохранен в сеансе, он будет сериализован, чтобы он мог быть сохранен.

В другом проекте у меня была эта проблема, и у меня был тот же самый код ошибки, что и у вас.

Magento имеет пару классов, которые не могут быть сериализованы. Один из этих классов – Mage_Core_Config_Element. Возможно, вы используете этот класс?

Я не уверен, но, возможно, если вы создадите пользовательскую функцию serialize (), вы можете найти проблему.

У меня была эта проблема, потому что основной идентификатор в моей таблице DB был установлен в INT (11) (IDIOT!)

Дублирующие сеансы БД, созданные при входе в Zend_Auth

Он должен быть установлен в CHAR (32)!