【发布时间】:2019-10-15 07:07:34
【问题描述】:
【问题讨论】:
【问题讨论】:
看起来你在 PHP 7.2 中使用 Yii 1 根据this post 和this one 和this one 等其他来源的数量,您有一个可以报告here 的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
【讨论】:
简单修复:
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(...
【讨论】:
这对我有用:
protected/components 文件夹中创建新类SomeSession: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',
]
【讨论】: