Я скопировал существующий и успешно работающий сайт на новый сервер разработки.
Теперь логин на новом сервере поврежден, и я отследил его до того факта, что хотя сессионный cookie переименован ...
ini_set('session.name', 'DOMAIN1');
... браузер сохраняет cookie-файл ssssion как PHPSESSID.
Когда я удаляю вышеуказанную строку из приложения на новом сервере, логин снова работает. Но это не очень хорошее решение, потому что другое приложение также использует PHPSESSID под этим именем.
И я предпочел бы найти причину странного поведения вместо использования обходного пути. Если я не исправлю это, это может укусить меня где-нибудь еще.
Может быть, этой информации уже достаточно, чтобы кто-нибудь дал мне подсказку. Если нет, какая информация будет полезна?
Эта машина была очень простым и простым сервером ubuntu 8.04, и я установил apache2, mysql и php5 с помощью aptitude. Я также обновил lokales и часовой пояс.
Решение:
Я заменил строку выше этим кодом из принятого ответа ...
if(ini_set('session.name', 'DOMAIN1') === false || !session_name('DOMAIN1'))
{
die('Unable to set sesssion scope');
}
... и теперь логин работает на новом сервере.