正常に実行されている既存のサイトを新しい開発サーバーにコピーしました。
新しいサーバーへのログインが壊れており、セッション Cookie の名前が変更されているという事実まで追跡しました...
ini_set('session.name', 'DOMAIN1');
...ブラウザはセッションCookieをPHPSESSIDとして保存し続けます。
新しいサーバーのアプリケーションから上記の行を削除すると、ログインが再び機能します。しかし、別のアプリケーションもこの名前で PHPSESSID を使用しているため、これは良い解決策ではありません。
そして、回避策を使用するのではなく、奇妙な動作の理由を見つけたいと思います. ここを直さないと、どこかで噛まれる可能性があります。
たぶん、これは誰かが私にヒントを与えるのに十分な情報です. そうでない場合、どのような情報が役立ちますか?
このマシンは非常にネイキッドで基本的な ubuntu 8.04 サーバーで、apache2、mysql、php5 を aptitude と共にインストールしました。ロケールとタイムゾーンも更新しました。
解決:
上記の行を、受け入れられた回答からのこのコードに置き換えました...
if(ini_set('session.name', 'DOMAIN1') === false || !session_name('DOMAIN1'))
{
die('Unable to set sesssion scope');
}
...そして、ログインが新しいサーバーで機能するようになりました。