Laravel-Auth卡在读取会话文件上

时间:2018-06-29 02:15:30

标签: php laravel session

希望你很好

我试图将配置文件表添加到我的Laravel 5.6项目中,并且我还在使用spatie \ Laravel-Permission包。它运行正常,但是在我进行了一些迁移(与用户无关)后,登录失败。奇怪的是,如果我注册一个新用户,它会正确登录,但永远不会使用/ login路由(我使用的是Laravel的Auth脚手架)。

调试项目后,我想到了失败的方法,这是读取会话的内容:

MyProject\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php

<?php
namespace Illuminate\Filesystem;

use ErrorException;
use FilesystemIterator;
use Symfony\Component\Finder\Finder;
use Illuminate\Support\Traits\Macroable;
use Illuminate\Contracts\Filesystem\FileNotFoundException;

class Filesystem{
    // ...
    public function get($path, $lock = false)
    {
        if ($this->isFile($path)) {
            return $lock ? $this->sharedGet($path) : file_get_contents($path); // <-- The failing line
        }

        throw new FileNotFoundException("File does not exist at path {$path}");
    }
    // ...
}

一旦到达那一行,调试器停止,浏览器没有得到响应,dd()函数没有被触发...我也尝试调试sharedGet($ path)方法,它返回值,但返回到上面的方法,它将停止。

此外,每次请求(最多500MB /请求)的php_error.log文件都会荒唐地增加,以至于我使用的所有编辑器都无法打开它(SublimeText,NetBeans)。

我的想法是,在读取文件时,apache可能会用尽内存,但是会话文件的权重仅为1k,所以没有太大意义。

有人可以提出任何线索吗?谢谢

-编辑:

我尝试仅使用Auth模块和spatie / laravel-permission软件包安装新的laravel proyect,但我注意到了相同的行为:它注册并记录用户,但是注销后,我不再能够用任何用户登录。

1 个答案:

答案 0 :(得分:0)

如果someonw遇到相同的错误:

我可以通过备份所有项目/数据库并使用最新版本的php重新安装wampserver(在此答案之时为7.2.4)并重新安装Laravel(幸运的是,该proyect才刚刚开始)来解决此问题),仅将vlucas / phpdotenv软件包从2.4.0更新到了2.5.0和phpunittest。

通过此更新,我现在可以正常登录用户了,现在让我们看看它是否可以与spatie / laravel-permission包和我需要添加的配置文件表一起正常工作。