我在整个域和子域中打印数据库中已记录用户的名称。
要在域中将会话从一个页面传递到另一个页面,我使用函数
session_start();
完全在一台主机的PHP服务器上实现其目的,但它在其他主机的应用程序服务器上根本不起作用。
同样,要在域和子域之间将会话从一个页面传递到另一个页面,我使用函数
session_set_cookie_params
这完全可以在一台主机的PHP服务器上实现其目的,但它在其他主机的应用服务器上根本不起作用。
其他主机的PHP服务器上的当前会话配置如下:
session.auto_start Off
session.cookie_path /
session.save_path /tmp
我在具有不同主机的两个不同站点中使用完全相同的应用程序。其他主机的应用程序服务器配置出了什么问题?
示例:
www.mysite.com本身以及www.mysite.com,www.sub1.mysite.com和www.sub2.mysite.com之间的另一页的一页到另一页
答案 0 :(得分:0)
默认情况下,Cookie仅适用于确切的域匹配。由于PHP会话依赖于这些,因此适用相同的规则。
您可以使用session_set_cookie_params或相关的ini配置更改PHP用于会话的设置。
session_set_cookie_params(3600*24, '/', '.mysite.com');
请注意域上的前导点以指示所有子域都适用。