Chi*_*hah 2 php session zend-framework2 zfcuser
我在我的管理面板上使用了ZFcuser模块.当我登录管理面板时,其返回错误如下:
警告:session_regenerate_id():无法重新生成会话ID - 已在第260行的/home/public_html/dev/vendor/zendframework/zendframework/library/Zend/Session/SessionManager.php中发送的标头
这在我的本地Windows系统中工作正常但它在我的linux托管服务器中运行时返回这样的警告.
需要帮助来解决这个问题.提前致谢.
您可以使用ZF2重新生成会话ID SessionManager:
$manager = new Zend\Session\SessionManager;
$manager->regenerateId();
Run Code Online (Sandbox Code Playgroud)
但是,您的错误可能不是由此函数引起的,而是由于其他原因引起的.会话管理(session_start()或者重新生成会话ID)只有在您echo在该段代码之前没有使用或类似的情况下才有可能:
例如,这将失败:
<?php
echo 'Hello';
session_start();
Run Code Online (Sandbox Code Playgroud)
另一方面,这将起作用:
<?php
session_start();
echo 'Hello';
Run Code Online (Sandbox Code Playgroud)
你必须非常小心打开和关闭php标签.如果您的类中有任何关闭的php标记,请将其删除.如果此后有空行,则将其解释为在响应中返回的文本,这会导致会话出现问题.这也会失败:
<?php
// Do some work
?>
<!-- blank line -->
<?php
session_start();
?>
Run Code Online (Sandbox Code Playgroud)
所以:检查所有代码echo,print等等.另外,检查源代码中的任何结束php标记.如果上述所有内容对您没有帮助,请在您重新生成会话ID的位置发布一段代码,这可能会提供更多见解.
| 归档时间: |
|
| 查看次数: |
2392 次 |
| 最近记录: |