PHP警告:unlink(../ sessions / 272eb33 ... 65cc06af):第156行的/ Filesystem.php中没有这样的文件或目录

时间:2016-11-12 08:59:45

标签: laravel laravel-5.2

当我使用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

我仍然可以继续使用正常的服务命令(没有任何问题),但我不能再向同事们提供短暂的高峰了,这非常方便。我不知道是怎么回事。谁知道最近发生了什么?

PS:所有令牌都已正确设置(使用集体形式) enter image description here

4 个答案:

答案 0 :(得分:0)

这是因为您的表单中没有csrf字段。

您有两个选项,第一个是通过在表单标记中添加此行来将字段添加到表单中:

{{ csrf_field() }}

第二个选项是使用{{Form :: open}}和{{Form :: close()}}方法而不是表单标记,这会自动将csrf输入添加到表单中。

答案 1 :(得分:0)

您需要将csrf标记字段添加到表单中。
有两种方法可以添加它

  1. {{ csrf_field() }}
  2. 使用laravelcollective/html {{ 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。这样我的同事或客户就可以毫无问题地使用其他端口,我可以进行任何修改。好吧,这可能不是这个问题的直接解决方案,但它是简单表示的一个很好的解决方法。