【问题标题】:Session not starting on Cakephp 2.2.3会话未在 Cakephp 2.2.3 上开始
【发布时间】:2013-02-08 22:07:39
【问题描述】:

我在 cakephp 2.2.3 上的会话中有一个奇怪的问题...我的会话没有在网络服务器上启动。我尝试在控制器上使用此代码:

<?php
 if ($this->Session->write('Test', 'hi')){
       echo $this->Session->read('Test');
  }
  else{
       echo 'bye';
  }

在网络服务器上输出 bye,在本地主机上输出 hi

所以,我进一步检查,发现方法 CakeSession::start() 总是返回 false。今天开始发生这种情况,我无法意识到可能导致这种情况的原因...... 我在 core.php 上的会话配置是

    Configure::write('Session', array(
    'defaults' => 'database',
    'checkAgent' => true,
    'timeout' => 31104000,
    'cookie' => 'vejomun'
));

将调试设置为 2 时,我收到很多这样的警告:

Warning (2): ini_set() has been disabled for security reasons [CORE/Cake/Model/Datasource/CakeSession.php, line 484]

但一直都是这样,直到昨天的会议还可以......

提前致谢,抱歉英语不好。

编辑:

如果有人有同样的问题,那只是 html 开头的空行。

【问题讨论】:

  • 您应该会收到典型的 headers already sent 错误消息。如果不这样做,则需要配置 PHP 安装以显示所有错误消息。 (投票结束,因为问题被证明无效。)
  • -1 直到您将编辑放入答案并接受它 =)
  • 我在编辑问题之前已经这样做了,但是答案被删除了......

标签: session cakephp cakephp-2.2


【解决方案1】:

在页面顶部写

    session_start();

如果你写这行然后php将与会话兼容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 2018-10-17
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2012-02-18
    相关资源
    最近更新 更多