我打印域和子域中数据库中已登录用户的名称。
为了将会话从一个页面传递到域中的另一个页面,我使用以下函数
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之间
发布于 2013-07-05 00:09:13
默认情况下,cookies仅适用于精确的域匹配。由于PHP会话依赖于这些规则,因此也适用相同的规则。
您可以使用session_set_cookie_params或相关的ini配置来更改PHP用于会话的设置。
session_set_cookie_params(3600*24, '/', '.mysite.com');
请注意,域上的前导圆点表示适用于所有子域。
https://stackoverflow.com/questions/17473431
复制相似问题