php - Symfony2 中的 Zend Framework 1 应用程序 - session 问题

标签 php symfony session zend-framework

我已将我们的遗留站点添加到我们新的 Symfony 应用程序的遗留绑定(bind)中。

不过我对 session 有疑问。

如果我使用 Symfony 的默认 session 处理程序,我会得到以下信息:

session has already been started by session.auto-start or session_start()

enter image description here

但是,如果我按照遗留应用程序集成的建议使用 session php_bridge(很可能不是为了这个,而是为了 $_SESSION),那么网站会加载,但 session 不会持续存在,或者即使存在也无法销毁。

enter image description here

My related question here

有人有什么建议吗?

亲切的问候 弥敦道

最佳答案

几个月前,我也使用 Zf1WrapperBundle 将我们遗留的 Zend 应用程序包装在一个 Symfony 项目中。 .我遇到了与您相同的“ session 已经开始”问题。 为了快速解决这个问题,我编辑了 Zend/library/Zend/Session.php。它有点脏,但效果很好。如果你想这样做,你必须这样做(取决于你的 Zend 1 版本,行号可能不同):

line 462: Comment it // throw new Zend_Session_Exception('session has already been started by session.auto-start or session_start()');

line 480: Disable errors trigger $startedCleanly = @session_start();

line 490: Comment it // session_write_close();

line 493: Comment it // throw new Zend_Session_Exception(__CLASS__ . '::' . ____FUNCTION____ . '() - ' . Zend_Session_Exception::$sessionStartError);

line 728: Disable errors trigger @session_destroy();

也就是说,在那种情况下,编辑 Zend 核心文件并没有听起来那么糟糕,因为如果您将遗留项目包装在 Symfony 中,您可能会考虑将遗留 zend 项目完全迁移到 symfony。几个月后,您将摆脱遗留的 zend 代码。

关于php - Symfony2 中的 Zend Framework 1 应用程序 - session 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28944728/

相关文章:

javascript - $.post 的值不正确。 JQuery 中的选择

javascript - 如何将表中的项目放入数组jquery

php foreach循环不遍历整个数组

Symfony 4 和微服务

php - 包括当前目录中的 Twig 文件

javascript - 如何获取此时此页面的活跃访客数?

php - Wordpress 和 Enquire.js - 条件加载原理

error-handling - Symfony形式虚拟错误

java - 如何在运行 Junit 测试用例时创建用户 session

javascript - 如何使用 javascript 中的 nomerge 选项打开 IE8 窗口