0

我在具有虚拟主机的 Apache2 服务器上运行 php。我有 2 个域,比如说 domain1.com 和 domain2.com(不是子域)

domain2.com 是 domain1.com 的 ServerAlias

domain1.com 上的会话运行良好。但是,我无法将会话变量保存在 domain2.com 上。

我不相信我的会话正在保存,因为它没有在页面之间结转。我在 index.php 页面上设置了变量。我可以转储会话并查看它最初是设置的。然后我的 index.php 重定向到 home.php 我在 home.php 的顶部有这个

<?php
session_start();
var_dump($_SESSION); 
?>

我在 home.php 上得到一个空数组

我的 phpinfo() 设置与我在 2 个域上的会话信息完全相同。

我被卡住了,不确定这是 php 问题还是 apache 设置。任何帮助是极大的赞赏!

4

2 回答 2

0

另一个对我有用的选项:强制会话名称:

session_name("myWebsite");
session_start(); 
于 2014-07-13T10:10:43.837 回答
0

php 中的会话通常由 cookie 在 php 中维护。您可能看到的是session.cookie_domain设置为 ini 中设置的工作域的值。在 session_start 调用之前使用 ini_set 或session_set_cookie_params进行纠正。

于 2013-07-18T20:40:22.427 回答