希望你很好
我试图将配置文件表添加到我的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,但我注意到了相同的行为:它注册并记录用户,但是注销后,我不再能够用任何用户登录。
答案 0 :(得分:0)
如果someonw遇到相同的错误:
我可以通过备份所有项目/数据库并使用最新版本的php重新安装wampserver(在此答案之时为7.2.4)并重新安装Laravel(幸运的是,该proyect才刚刚开始)来解决此问题),仅将vlucas / phpdotenv软件包从2.4.0更新到了2.5.0和phpunittest。
通过此更新,我现在可以正常登录用户了,现在让我们看看它是否可以与spatie / laravel-permission包和我需要添加的配置文件表一起正常工作。