未定义的变量:_SESSION [CORE/src/Network/Session.php CakePHP 3.0



我正在使用 CakePHP 3.0,并将其上传到服务器,它在本地工作正常,但不知何故,将其上传到服务器后显示错误

注意 (8):未定义的变量:_SESSION [核心/src/网络/会话.php,第 438 行]

如果有人对此有想法,请帮助我。我仍在尝试解决它。
我也试图把session_start();放在AppController和许多其他地方,但后来它变成了空白。

我发现了这个问题,当我将文件上传到服务器时,它会自动在AppController的末尾附加白色空白行以及另一个控制器文件。

因此,当我从该文件中删除空白行时,它再次正常工作

    //To detect the file which have issue or extra space or early header start
//File location : vendor/cakephp/cakephp/src/Network/Session.php 
    public function write($name, $value = null)
            {
                if (empty($name)) {
                    return;
                }
                if (!$this->started()) {
                    $this->start();
                }
                $write = $name;
                if (!is_array($name)) {
                    $write = [$name => $value];
                }
                //remove the comment from bottom line and run your code it will 
                //show you the exact file from where you have to remove the blank space
                //session_start();
                $data = $_SESSION ?: [];
                foreach ($write as $key => $val) {
                    $data = Hash::insert($data, $key, $val);
                }
                $this->_overwrite($_SESSION, $data);
            } 

小问题,但花了很长时间才检测到它,希望这对大家有所帮助。

把它放在服务器上的 php.ini 文件中

session.save_path = “/var/tmp”

您需要确保在每个要使用 $_SESSION 超全局的 PHP 文件的顶部启动会话。喜欢这个:

<?php
  session_start();
  echo $_SESSION['youritem'];
?>

您忘记了会话帮助程序。

检查此链接 : book.cakephp.org/2.0/en/core-libraries/helpers/session.html

相关内容

最新更新