答案 0 :(得分:0)
似乎您在PHP 7.2中使用Yii 1 根据{{3}}和其他来源,例如this post和this one,您有一个yii错误,可以报告为this one
另一个主题的答案:
我在php.net上做了一个错误报告,他们解释说这是 不是错误。是的,在PHP 7.2中现在会生成警告。但是这个 从未按预期工作,只是默默地失败了。
要创建多个会话,需要使用session_id()。 看看这个相关的问题:PHP如何创建多个 会议?
session_name()以及session_set_cookie_params()始终是 如果会话已经在运行,则无意义。
原始答案在这里查看: here
答案 1 :(得分: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(...
答案 2 :(得分:0)
这对我有用:
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();
}
}
main.php
部分的session
中进行编辑:'session' => [
'class' => SomeSession::class,
'sessionName' => 'SomeSessionName',
'autoStart' => true,
'cookieMode' => 'allow',
]