Кажется вылечил.
До этого вносили исправления ereg функций по рецепту http://forums.oscommerce.com/topic/381320-since-were-updating-deprecated-session-and-ereg-solutions/#entry1610073
т.е. в /catalog/admin/includes/functions/sessions.php
function tep_session_register($variable) {
return session_register($variable);
}
function tep_session_is_registered($variable) {
return session_is_registered($variable);
}
function tep_session_unregister($variable) {
return session_unregister($variable);
}
меняли на
function tep_session_register($variable) {
global $session_started;
if ($session_started == true) {
if (PHP_VERSION < 4.3) {
return session_register($variable);
} else {
if (isset($GLOBALS[$variable])) {
$_SESSION[$variable] =& $GLOBALS[$variable];
} else {
$_SESSION[$variable] = null;
}
}
}
return false;
}
function tep_session_is_registered($variable) {
if (PHP_VERSION < 4.3) {
return session_is_registered($variable);
} else {
return isset($_SESSION) && array_key_exists($variable, $_SESSION);
}
}
function tep_session_unregister($variable) {
if (PHP_VERSION < 4.3) {
return session_unregister($variable);
} else {
unset($_SESSION[$variable]);
}
}
Если убрать условие if ($session_started == true) начинает нормально логинится