【发布时间】:2015-06-03 11:59:57
【问题描述】:
这里是config/session.php:
return [
'driver' => 'file',
'files' => storage_path().'/framework/sessions',
];
我的storage/framework/sessions 有 755 个权限。
当我将这两行放在我的控制器中时
Session::set('aa', 'bb');
dd(Session::get('aa'));
我收到预期的"bb" 输出。但如果我评论第一行:
// Session::set('aa', 'bb');
dd(Session::get('aa'));
刷新页面,我仍然期待"bb",但得到null。
另外,storage/framework/sessions 是空的。
我应该怎么做才能使 Session 正常工作?
【问题讨论】:
-
storage/framework/sessions的所有者是谁?755表示只有所有者可以写入目录。因此,要使这些权限正常工作,所有者最常见的应该是网络服务器用户,通常类似于www-data、apache等,具体取决于您使用的 Linux 发行版和 HTTP 服务器。 -
尝试将其设置为
775 -
@Bogdan 我认为这与权限无关,设置为
777并且会话仍然无法正常工作。 -
只是累了
cookie和database司机,同样的:/这很奇怪。 -
我认为这是因为 Laravel 有一个自定义的会话处理程序,并且在负责将会话数据实际存储在文件中的代码可以执行之前,执行
dd()会中断请求生命周期。尝试使用var_dump()而不是dd()。
标签: php session laravel laravel-5