我使用的是Laravel的集合形式,运行的是Laravel 5.6。本地MAMP中没有错误。但是,在我在AWS上安装了生产版(Ubuntu)之后,表单就无法工作了。当我提交表单时,它总是转到“页面由于不活动而过期”。
在我问之前,我已经尝试过其他建议的方法,但仍然没有奏效。
清除缓存
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
设置目录权限
sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap/cache
会话Cookie域
'domain' => env('SESSION_DOMAIN', null),
会话安全值
'secure' => env('SESSION_SECURE_COOKIE', false),
我还少了什么?
更新:看起来这是CSRF令牌不匹配的问题。
发布于 2018-04-21 09:02:56
在路由文件中,添加以下内容:
Route::get('csrf', function() {
return Session::token();
});
有人告诉我,这就是当前会话令牌的问题,并提供了上述解决方案。但是,我不知道为什么会话令牌与表单上的CSRF令牌不同。
https://stackoverflow.com/questions/49951880
复制