我在laravel 5.2中创建了一个页面视图计数器。它在我在本地托管时工作,但我刚刚使用Vultr部署到服务器上,现在看来会话没有更新。我正在使用文件来存储会话,我可以看到正在创建文件。
这是我的代码
$viewed = Session::get('viewed', []);
if (!in_array($id, $viewed))
{
Event::fire(new ViewPostEvent($post));
$request->session()->push('viewed', $post->id);
}
当我在本地托管时,我可以在没有查看计数器的情况下进行刷新,但我只检查了我的服务器上的数据库,并且它在我在实时服务器上进行的每次刷新时都会更新。存储文件夹的权限是777。
答案 0 :(得分:1)
在生产服务器上,永远不建议提供777 permission
。您可以为存储文件夹提供755 permission
。接下来要检查的是文件夹的所有权。
请将用户组更改为以下
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
现在应该可以了。
答案 1 :(得分:0)
我的愚蠢错误,我正在检查用户ID而不是帖子ID,所以它没有在会话中找到它。