如果设置自定义会话路径,Yii 闪存消息在重定向后不起作用


Yii flash messages doesn't work after redirect if set custom sessions path

如何解决闪存消息的问题?如果默认情况下设置了sessionPath,则flash效果很好,但是如果我在配置中设置它,例如

'session' => array (
    'savePath' => '../tmp/sessions',
),

重定向后闪烁不再工作。

附言对不起我的英语。

您必须授予对../tmp/sessions路径的适当权限。例如:

chmod -R 775 tmp/sessions

或 777。您可能需要处理权限的安全问题。

正如你在getFlashes()方法文档中看到的,该方法接收一个参数 - 在调用此方法后删除(默认)或不消息。我认为您不想在第一次调用后删除闪存消息。自己测试一下:

var_dump(
    Yii::app()->user->getFlashes(false),
    Yii::app()->user->getFlashes(),
    Yii::app()->user->getFlashes()
);