PHP - 更改应用程序根目录并保留会话


Php - Changing application root directory and keep sessions

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

/site-v1
/site-v2

我有 1 个酒庄

site.com

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

在 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 浏览中的会话)

两个虚拟主机相同(根目录除外)

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

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