【发布时间】:2014-02-01 10:37:03
【问题描述】:
我在管理面板中使用了 ZFcuser 模块。当我登录到管理面板时,它会返回如下错误:
警告:session_regenerate_id():无法重新生成会话 ID - 标头已在 /home/public_html/dev/vendor/zendframework/zendframework/library/Zend/Session/SessionManager.php 第 260 行发送
这在我的本地 Windows 系统中运行良好,但在我的 linux 托管服务器中运行时返回此类警告。
需要帮助来解决这个问题。提前致谢。
【问题讨论】:
-
确保在您的托管服务器上的 php.ini 中启用了输出缓冲
-
我最好的客人是你的文件的开头有一些东西,windows(或者很可能是你的windows中的php)正在忽略它,但linux(php)认为它是输出,禁用 ZFuser 模块并尝试手动使用会话,看看它有效吗?
-
检查文件的编码。它们都是没有 BOM 的 UTF-8 吗?
-
您可以通过在 SessionManager::regenerateId() 中抛出异常来尝试在会话重新生成之前跟踪发送标头的文件。等待您可以分析堆栈跟踪并检查类以获取可能的输出
-
@Shahrokhian,它们是不同的问题。如果您使用 php,您就会明白使用 ZF2 的会话存在一些纯 php 会话不会发生的问题。
标签: php session zend-framework2 zfcuser