如果没有www,PHP会话不能正常工作

时间:2014-02-21 09:45:30

标签: php session

我的会话仅适用于子域,例如 www。,如果没有该子域,则无法使用。

例如,当用户登录时。

如果地址不在子域中。键入未登录。

我设置了会话 cookie_domain ,但它没有用。

//我不想通过htaccess重定向因为子域都有相同的问题

3 个答案:

答案 0 :(得分:2)

如果您希望php会话能够运行所有子域,则必须更改cookie_domain选项。在脚本顶部输入以下内容:

ini_set('session.cookie_domain', '.example.com' );

答案 1 :(得分:1)

www.domain.comdomain.com不是同一个网站。它们是彼此的镜像副本

出于这个原因,在domain.com上设置的cookie不会用在www.domain.com上,反之亦然,因为假设它们是同一个东西是不安全的。

通过将php.ini设置session.cookie_domain设置为.domain.com

,允许会话cookie在所有子域以及主域上工作,可以在某种程度上覆盖此行为

答案 2 :(得分:0)

我解决了这个探测器使用此代码

session_name("name");
ini_set ("session.cookie_domain", '.domain.com') ;
session_set_cookie_params(0, '/', '.domain.com');
session_start();