您好我已经使用sudo php artisan serve --host 0.0.0.0 --port 80
在远程服务器上部署了我的Laravel应用程序但是当我登录时,我得到了TokenMismatchException。该应用在我的本地环境中运行良好,我的登录表单包含{{ csrf_field() }}
答案 0 :(得分:1)
首先,您不应在生产模式下使用php artisan serve
命令。你只需要指出像http://or.net/
这样的baseUrl到laravel的public / index.php文件。它将使用所有依赖项来引导您的laravel应用程序。有关在共享服务器上托管laravel的更多详细信息,请访问this CW answer。
@sujalPatel回答了CSRF令牌问题的解决方案。你必须添加
{!! csrf_field() !!}
不是{{ csrf_field() }}
答案 1 :(得分:0)
试试这个:
我假设您添加了$ this->中间件('auth');在控制器的构造函数内部,以使身份验证工作。如果您使用{!!,请在您的登录/注册表单下方的顶部添加以下内容! Form :: someElement !!}:
{!! csrf_field() !!}
或者如果您在表单中使用输入标记,只需在标记之后添加:
<input type="hidden" name="_token" value="{{ csrf_token() }}">