如何为站点别名设置会话.PHP Apache2


How to setup session for a site alias. PHP Apache2

我在带有虚拟主机的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设置问题。非常感谢您的帮助!

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

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

session_name("myWebsite");
session_start();