每个域名的新会话

时间:2011-08-22 22:32:53

标签: php session nginx

我正在运行Ubuntu / nginx和php-fpm。当我打开我的网站http://www.mydomain.com时,我必须登录并且PHP正在创建会话。当我登录http://mydomain.com时,我必须再次登录,并且正在创建另一个会话。

如何阻止PHP创建新会话并坚持使用?或者这是一个Web服务器问题?

3 个答案:

答案 0 :(得分:1)

这是因为您的会话基于Cookie,而Cookie是特定于域的。 www.domain.com在技术上是domain.com的子域,虽然它很少被视为这样,并且浏览器将表现为完全不同的服务器。您可以根据需要将会话ID作为GET(或POST)参数传递来解决此问题。

有关如何操作的说明,请参阅this page或PHP手册。您真正需要做的就是在所有链接中包含常量SID等 - 这是在您调用session_start()时定义的,并且是一个URL参数格式的字符串。

答案 1 :(得分:1)

使用session_set_cookie_params并将域设置为.mydomain.com。另外session_set_cookie_params需要在每个session_start

之前调用

答案 2 :(得分:0)

您需要指定Cookie域,以确保该Cookie对www和非www http://php.net/manual/en/function.session-set-cookie-params.php

都有效
相关问题