Php Laravel会话未在生产服务器上更新
我在Laravel5.2中创建了一个页面浏览计数器。当我在本地托管时,它可以工作,但我只是使用Vultr部署到服务器上,现在看来会话没有更新。我正在使用文件存储会话,我可以看到正在创建文件 这是我的密码Php Laravel会话未在生产服务器上更新,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我在Laravel5.2中创建了一个页面浏览计数器。当我在本地托管时,它可以工作,但我只是使用Vultr部署到服务器上,现在看来会话没有更新。我正在使用文件存储会话,我可以看到正在创建文件 这是我的密码 $viewed = Session::get('viewed', []); if (!in_array($id, $viewed)) { Event::fire(new ViewPostEvent($post)); $request->
$viewed = Session::get('viewed', []);
if (!in_array($id, $viewed))
{
Event::fire(new ViewPostEvent($post));
$request->session()->push('viewed', $post->id);
}
当我在本地托管时,我可以在不增加视图计数器的情况下进行刷新,但我只是在服务器上检查了我的数据库,每次在live server上进行刷新时它都会更新。存储文件夹的权限为777。在生产服务器上,不建议授予
777权限。您可以为存储文件夹授予755权限
。接下来要检查的是文件夹的所有权
请将用户组更改为以下内容
sudo chown www-data:www-data /var/www/html/larvel/storage/framework/sessions
然后从laravel根文件夹运行以下命令
php artisan cache:clear
之后,快跑
composer dump-autoload
使用以下命令重新加载apache/nginx服务器
sudo service apache2 reload
现在应该可以了 我犯了一个愚蠢的错误,我检查的是用户id而不是帖子id,所以它在会话中找不到它 我打了一针,但没用。我将会话驱动程序从文件更改为cookie,但仍然遇到相同的问题,因此我认为它与会话的存储无关