是否可以在不同的PHP版本之间共享会话?

时间:2015-06-19 12:20:25

标签: php apache symfony session iis

我正在开始一个旧的app重构,我将从意大利面条代码重建一些功能到MVC(Symfony)。计划是我将使用子域设置新的IIS应用程序。现在,旧的应用程序正在运行PHP 5.3,无法升级。新的应用程序将在PHP 5.6上运行。我需要携带的只是身份验证。我可以在旧应用程序或新应用程序上使用登录脚本。 我尝试设置会话cookie参数,但我无法使其工作。

是否有可能或我必须使用数据库? 如果不可能,那可以在Apache中实现吗?

修改

我要做的是:

session.cookie_domain = ".dev" 

在php.ini中。然后我在一个会话中启动会话,设置一个会话变量。

session_start();
$_SESSION['test'] = 123;

然后在第二个应用程序(php 5.6)中,我试图阅读它:

session_start();
var_dump($_SESSION);

但它是空的。

1 个答案:

答案 0 :(得分:1)

显然设置会话cookie域不适用于顶级域名(TLD),例如.dev

将我的代码更改为:

ini_set('session.cookie_domain', '.local.dev');

现在我可以在.local.dev网站上设置会话变量并在new.local.dev中读取它们

这两个应用程序实际上位于不同的文件夹中,使用两个IIS条目并使用不同的PHP版本。