0

我有一个网站的 2 个版本。

/site-v1
/site-v2

我有 1 个域名

site.com

我想在生产中设置site-v2(即将替换site-v1),会话结构与v1完全相同。然后我不希望在 prod 期间浏览该网站的人失去他们的会话。仅替换文件的文件结构差异太大,我需要更改根目录。

在 apache 虚拟主机中,当 site.com 根目录从 /site-v1 更改为 /site-v2/public 时。然后php会话不再存在。当我回到 /site-v1 时,会话仍然不存在。

当我在更改根目录时使用同一个域时,您知道如何保持会话吗?

使用 apache 2 和 php 5.3。我检查了 session_save_path 并且两个版本都使用 /var/lib/php5


编辑

我浏览版本 1 在服务器上我更改了根目录:

a2ensite version2 && a2dissite version1 && service apache2 restart

我浏览了版本 2(会话被替换)

在服务器上,我更改了根目录:

a2ensite version1 && a2dissite version2 && service apache2 restart

会话再次被删除(即使是第一个版本 1 浏览的会话)

两个虚拟主机是一样的(根目录除外)

4

1 回答 1

1

如果会话相关的 php 设置相同。(session_save_path, session_handler,... ) 并且域地址也不会改变。

然后你不需要做任何事情。浏览器会发送相同的cookie,网络服务器会在相同的地方(目录)找到相关的会话内容。

于 2013-10-29T09:01:57.023 回答