【问题标题】:Is it possible to share session between different PHP versions?是否可以在不同的 PHP 版本之间共享会话?
【发布时间】:2015-09-05 10:16:48
【问题描述】:

我正在开始一个旧的应用程序重构,我将把一些功能从意大利面条代码重建到 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);

但它是空的。

【问题讨论】:

  • 会话默认存储在文件中。两个 php 版本可以使用相同的文件的可能性很小。但具体我不知道。
  • 会话 cookie 在两个版本中都可以正常工作。需要更多信息?显示你厌倦了哪些代码?
  • @Unknown 我已经编辑了我的问题。

标签: php apache symfony session iis


【解决方案1】:

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

将我的代码更改为:

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

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

这两个应用程序在物理上位于不同的文件夹中,通过两个 IIS 条目运​​行并使用不同的 PHP 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 2017-02-11
    相关资源
    最近更新 更多