【发布时间】:2010-10-24 05:18:58
【问题描述】:
我将现有且成功运行的站点复制到了新的开发服务器。
新服务器上的登录现在已损坏,我追查到虽然会话 cookie 已重命名...
ini_set('session.name', 'DOMAIN1');
...浏览器一直将会话cookie存储为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');
}
... 登录现在可以在新服务器上运行。
【问题讨论】:
标签: php apache http session-cookies