我在带有虚拟主机的Apache2服务器上运行php。我有两个域,比如domain1.com和domain2.com(不是子域)
domain2.com是domain1.com 的服务器别名
domain1.com上的会话运行良好。然而,我无法在domain2.com.上保存会话变量
我不相信我的会话正在保存,因为它不会在页面之间转移。我在index.php页面上设置了变量。我可以转储会话并查看它是否已初始设置。然后我的index.php重定向到home.php,在home.php 的顶部有这个
<?php
session_start();
var_dump($_SESSION);
?>
我在home.php 上得到一个空数组
我的phpinfo()设置与我在这两个域上的会话信息完全相同。
我被卡住了,不确定这是php问题还是apache设置问题。非常感谢您的帮助!
session.cookie_domain
的值被设置为ini中设置的工作域。在session_start调用之前使用ini_set或session_set_cookie_params进行更正。
另一个对我有用的选项是强制会话名称:
session_name("myWebsite");
session_start();