我正在运行Ubuntu/nginx和php-fpm。当我打开我的网站http://www.mydomain.com时,我必须登录并且会话由PHP创建。当我登录到http://mydomain.com时,我必须再次登录并且正在创建另一个会话。每个域名的新会话
如何防止PHP创建新会话并坚持使用一个?或者这是一个Web服务器问题?
我正在运行Ubuntu/nginx和php-fpm。当我打开我的网站http://www.mydomain.com时,我必须登录并且会话由PHP创建。当我登录到http://mydomain.com时,我必须再次登录并且正在创建另一个会话。每个域名的新会话
如何防止PHP创建新会话并坚持使用一个?或者这是一个Web服务器问题?
这是因为您的会话基于Cookie,Cookie是特定于域的。 www.domain.com
在技术上属于domain.com
的子域,尽管它很少被视为这样,并且浏览器将充当它是一个完全不同的服务器。您可以根据需要通过将会话ID作为GET(或POST)参数传递给该问题。
请参阅this page或PHP手册了解如何操作。你真正需要做的就是在你的所有链接中包含常量SID
- 当你调用session_start()
并且是一个URL参数格式的字符串时,这个定义会被定义。
使用session_set_cookie_params并将域设置为.mydomain.com
。此外session_set_cookie_params需求之前每个session_start
你需要指定Cookie域,以确保cookie将被看作有效的两种www和非www被称为http://php.net/manual/en/function.session-set-cookie-params.php
与此唯一的问题是,你是靠德客户尊重该指令,但是,这是一个更简单的解决方案,因为您没有以任何其他方式修改您的代码。 – DaveRandom