当我使用php artisan serve --host x.x.x.x --port 8000
然后尝试登录时,我会收到TokenMismatchException in VerifyCsrfToken.php line 67:
个异常。但是当我使用本地设置php artisan serve
时,一切都可以正常运行。
实际上一切都很好。正如我所说,当我使用默认的serve命令时没有问题,这只有在我使用ip时才会发生。
这不是我第一次将它用于我的路由器ip。我用了很多东西与当地的其他朋友分享。它对于小css和图形调整非常方便。
此外,我尝试使用\Auth::login( \App\User::find(1) );
从修补程序登录,这次我得到了:
PHP warning: unlink(..../storage/framework/sessions/272eb33356094f65443817c1b9f88d3465cc06af):
No such file or directory in ...../vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php
on line 156
我仍然可以继续使用正常的服务命令(没有任何问题),但我不能再向同事们提供短暂的高峰了,这非常方便。我不知道是怎么回事。谁知道最近发生了什么?
答案 0 :(得分:0)
这是因为您的表单中没有csrf字段。
您有两个选项,第一个是通过在表单标记中添加此行来将字段添加到表单中:
{{ csrf_field() }}
第二个选项是使用{{Form :: open}}和{{Form :: close()}}方法而不是表单标记,这会自动将csrf输入添加到表单中。
答案 1 :(得分:0)
您需要将csrf标记字段添加到表单中。
有两种方法可以添加它
{{ csrf_field() }}
{{ Form }}
方法答案 2 :(得分:0)
尝试更改storage
文件夹的权限,例如:
chmod -R 777 storage/
答案 3 :(得分:0)
我刚刚在另一个端口上启动了另一台服务器。并把它交给我的同事。像:
php artisan serve --host x.x.x.x --port 8000
然后
php artisan serve --host x.x.x.x --port 8888
Geva链接localhost:8888。这样我的同事或客户就可以毫无问题地使用其他端口,我可以进行任何修改。好吧,这可能不是这个问题的直接解决方案,但它是简单表示的一个很好的解决方法。