我目前在Laravel 5.3中构建了一个Web应用程序。
我使用带有SQL Server的Laravel Valet在我的MacBook Pro上本地运行它。所有预期功能都有效。
然后我将它上传到我在DigitalOcean上的Ubuntu Web服务器上,并且自从我开始这个项目(8个月前)以来没有任何问题就把它放到了那里。
对于特定形式的POST请求,我收到令牌不匹配错误:
TokenMismatchException in VerifyCsrfToken.php line 68
用户已登录,并且应用程序上的其他POST请求有效。表单在表单内部具有正确的CSRF令牌,并且令牌存储在页面头部的元标记()下。
我本地没有这个问题,他们都有相同的数据库架构和内容。
我无法理解为什么这个问题只会发生在Web服务器上。
任何帮助深表感谢。
基于我的假设:确保将$this->middleware('auth');
添加到控制器的构造函数中,该构造函数处理该post请求。
也可以尝试使用下面的csrf标记字段选项之一:
<input type="hidden" name="_token" value="{{ csrf_token() }}">
要么:
{{ csrf_field() }}