【问题标题】:Initialize Zend_Session with already started session用已经启动的会话初始化 Zend_Session
【发布时间】:2011-11-28 10:51:13
【问题描述】:

谁能帮我理解这个问题?
问题是:

我有两个并行工作的应用程序版本。这意味着我已经在一个应用程序中启动了我应该在另一个应用程序中使用的会话。 第一个版本使用 PHP 会话($_SESSION 带有自定义处理程序),第二个版本的应用程序构建在 Zend Framework 之上,它应该使用 Zend_Session。

因此,当我尝试创建 new Zend_Session_Namespace("default") 实例时,我收到一个错误,提示会话已经开始,这是真的。

所以问题是——我可以用已经存储在 PHP $_SESSION 中的数据初始化 Zend_Session 对象吗?

【问题讨论】:

  • 通过 ID 或传递给您的应用程序的东西恢复会话不是更容易吗?
  • 谢谢,我正在尝试这样做。在我看来,这似乎是最好的解决方案。唯一应该是自定义会话处理程序(实现Zend_Session_SaveHandler_Interface)并配置Zend_Session 以使用您自己的session_name

标签: zend-framework php zend-session


【解决方案1】:

我有类似的问题,并从 zend 网站解决, 这对我有用: 在 .htaccess 文件中做:

php_value session.auto_start 0

参考检查:http://framework.zend.com/manual/en/zend.session.advanced_usage.html

希望对你有帮助

【讨论】:

    【解决方案2】:

    好的,我解决了这个问题,在我的情况下,解决方案是:

    1. 在旧版本中,我将会员 ID 推送到 cookie 中
    2. 在新版本中,我获取该 ID 并使用不同的会话系统和自己的处理程序。

    可以提高安全性并有助于避免冲突的一件事是使用 pubcookie 检查会员的电子邮件。

    希望我的解决方案对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2020-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多