Непоследовательная сериализация сеанса на серверах

Я получаю несогласованную сериализацию сеансов в моей среде разработки и производства.

Код идентичен, синхронизирован с SVN. Конфигурация Apache и PHP в основном идентична, только имя домена отличается. Оба работают с Debian Squeeze, сервер – 64 бит, а разработка – 32 бит.

На сервере сохраненные данные выглядят как закодированные base64, хотя я не уверен, что это:

vvZKW5WEbvvRCs0-M0R8zTDAuTsKZSADKORDemOWOXqPJs0J42l7nZIewsHp8JjGFQw64Xq2x5dB_7187W4HPdJ1Yo5yK6oHvB8ofx7GL82WJCaPrzP8pR1xm02f9HenDaShvy1WTHuMuCSJ3zWGUnjRpOuJtZ49v4Dh2L5U0M4. 

Данные сеанса разработки – это обычный стиль PHP:

 foo|s:3:"bar";baz|s:6:"wombat";promoter|O:8:"stdClass":0:{}475b17e28b25580bb92430bb286637ddlanguage|s:5:"en_us"; 

На сервере управление сеансом не работает должным образом, например, переход к субдомену на сайте приводит к повторной инициализации сеанса для всех поддоменов.

Я использую структуру Yii, хотя я устранил это как источник проблемы, скопировав код, найденный здесь в моем файле index.php, прежде чем всякая обработка будет выполняться с помощью фреймворка.

Поэтому мои вопросы: почему это происходит, и как я могу заставить сервер сохранять данные сеанса, такие как среда разработки?

Кстати, я бы предпочел не прибегать к некоторым неприятным взломам вроде:

 function writeSession($id,$data) { $data = serialize($_SESSION); .... } 

ТИА.

Related of "Непоследовательная сериализация сеанса на серверах"

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

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

В файле настроек в моем случае /etc/php5/conf.d/suhosin.ini

 suhosin.session.encrypt = Off