Еще несколько вещей, которые мне пришлось сделать (у меня была та же проблема: нет сохранения сессии после обновления PHP до 5.4). Вам это не нужно, в зависимости от того, что содержит php.ini вашего сервера (проверьте phpinfio ());
session.use_trans_sid=0 ; Do not add session id to URI (osc does this)
session.use_cookies=0; ; ensure cookies are not used
session.use_only_cookies=0 ; ensure sessions are OK to use IMPORTANT
session.save_path=~/tmp/osc; ; Set to same as admin setting
session.auto_start = off; Tell PHP not to start sessions, osc code will do this
По сути, ваш php.ini должен быть настроен на отсутствие файлов cookie, а параметры сеанса должны соответствовать тому, что хочет osc.
Вам также может понадобиться изменить несколько фрагментов кода сеанса в application_top.php - создать объекты, которых нет в вызовах tep_session_is_registered (...) (например, объект навигации), установить переменные $ HTTP_ в более новый $ _SERVER. один и несколько других тестов isset для пустых объектов (Google для информации). В итоге я смог использовать оригинальные файлы sessions.php (include / classes и includes / functions) со слегка модифицированным application_top.php, чтобы все снова заработало. Настройки php.ini были основной проблемой, но это, конечно, зависит от того, что ваша серверная компания установила по умолчанию.