网站首页 / 资讯 / Magento教程/ Magento2.x教程

M2出现SESSION保存错误ini_set(): A session is active.

作者:admin

{"0":"Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in \/www\/wwwroot\/html\/www.******.com\/vendor\/magento\/framework\/Session\/SessionManager.php on line 129","1":"#0 [internal function]: Magento\\Framework\\App\\ErrorHandler->handler(2, 'ini_set(): A se...',

此日志出现在report目录下,必须得修复。

1。进入数据库,core_config_data 表移除其中关于cookie及session的项,不用担心,如果删除错误,会自动调用默认的配置参数。


2.打开文件

/vendor/magento/framework/Session/SessionManager.php

部分版本报错的文件是

lib/internal/Magento/Framework/Session/SessionManager.php

具体依据您自己出错的日志来判断。


找到

     // Enable session.use_only_cookies
        ini_set('session.use_only_cookies', '1');

修改为

if (!$this->isSessionExists()) {
ini_set('session.use_only_cookies', '1');
}

找到

   /**
     * Performs ini_set for all of the config options so they can be read by session_start
     *
     * @return void
     */
    private function initIniOptions()
    {
        foreach ($this->sessionConfig->getOptions() as $option => $value) {
            $result = ini_set($option, $value);
            if ($result === false) {
                $error = error_get_last();
                throw new \InvalidArgumentException(
                    sprintf('Failed to set ini option "%s" to value "%s". %s', $option, $value, $error['message'])
                );
            }
        }
    }

修改为

    /**
     * Performs ini_set for all of the config options so they can be read by session_start
     *
     * @return void
     */
    private function initIniOptions()
    {
        foreach ($this->sessionConfig->getOptions() as $option => $value) {
           if ($option=='session.save_handler') { continue; } else {
            $result = ini_set($option, $value); }
            if ($result === false) {
                $error = error_get_last();
                throw new \InvalidArgumentException(
                    sprintf('Failed to set ini option "%s" to value "%s". %s', $option, $value, $error['message'])
                );
            }
        }
    }


标签: A session is active
上一篇:M2出现cache-backend-file/File.php on line 81​报错
下一篇:部分CPANEL空间如何切换PHP版本执行命令

相关内容

最近更新
相关产品
综合服务邮箱: magento2#foxmail.com