PHP 警告:session_set_save_handler():会话处于活动状态时无法更改保存处理程序

问题描述 投票:0回答:4

当我使用 xdebug 时,我的源 Yii 有这个问题。我不知道为什么。

enter image description here

php yii xdebug
4个回答
0
投票

看起来您使用的是 Yii 1 和 PHP 7.2 根据这篇文章以及这个这个等其他来源的数量,您有一个可以报告的yii错误这里

其他话题的答案:

我在 php.net 上做了一份错误报告,他们解释说这是 不是一个错误。是的,在 PHP 7.2 中现在会生成警告。然而这 从未按预期工作,它只是默默地失败了。

要创建多个会话,需要使用session_id()。 看看这个相关问题:PHP How can I create multiple 会议?

session_name() 和 session_set_cookie_params() 始终 如果会话已经在运行,那就毫无意义了。

原始答案请看这里: https://bugs.php.net/bug.php?id=75650&thanks=2


0
投票

简单修复:

function _read($id)  
   PHP 7.0 -> if is empty return false
   PHP 7.2 -> if is empty return ''

然后在其他函数中添加@,并记住在会话开始之前运行session_name

@session_name('SOMEID');
@session_start(...
...
@session_set_save_handler(...

0
投票

这对我有用:

  1. SomeSession
    文件夹中创建新课程
    protected/components
class SomeSession extends CCacheHttpSession
{
    public function open()
    {
// don't start new session if session is started now
    if (session_status() === PHP_SESSION_NONE) 
    {
           parent::open();
    }
}
  1. main.php
    中的
    session
    部分编辑:
'session'      => [
            'class'       => SomeSession::class,
            'sessionName' => 'SomeSessionName',
            'autoStart'   => true,
            'cookieMode'  => 'allow',
        ]
  1. 完成=]

0
投票

遇到 PHP 错误 严重性:警告

消息:ini_set():会话处于活动状态。此时您无法更改会话模块的 ini 设置

文件名:Session/Session.php

线路号码:286

回溯:

文件:/home/kliniksw/public_html/app.kliniksw.com/index.php 线路:316 功能:require_once

© www.soinside.com 2019 - 2024. All rights reserved.