当前位置: 首页 > 知识库问答 >
问题:

Laravel 5.3 unauthorized()AuthenticationException致命错误

陆昕
2023-03-14

我遵循了《Laravel 5.3升级指南》,其中说在应用程序异常处理程序中添加一个未经验证的方法。

但是,当Auth系统调用它时,我得到以下错误:

处理程序中的FatalThrowableError。php第59行:类型错误:传递给App\Exceptions\Handler的参数2::unauthenticated()必须是App\Exceptions\AuthenticationException的实例,给定的Illumb\Auth\AuthenticationException的实例,在/Users/Username/Development/ProjectName/vendor/laravel/framework/src/Illumb/Foundation/Exceptions/Handler中调用。php第135行

我已经搜索了半个小时,没有找到解决方案

有什么帮助吗?

共有3个答案

田彬郁
2023-03-14

从Laravel 5.2升级到5.3时,我遇到了这个无法解释的问题。存储/日志中没有laravel错误日志,没有Apache错误日志。没有问题。env,调试已打开,没有中断。htaccess指令和php artisan指令无法运行。尝试了一切,直到我查看了PHP错误日志,发现:

PHP Fatal error:  Uncaught Error: Undefined constant 'Illuminate\Auth\AuthenticationException' in C:\code\laravel-project\vendor\laravel\framework\src\Illuminate\Container\Container.php:79

所以我按照@jon的建议,将我的Handler.php文件与新的laravel文件进行了比较,发现了这个:

在App/Exceptions/H中andler.php确保$dontreport数组中的类被引用为引号中的字符串

        '\Illuminate\Auth\AuthenticationException',
        '\Illuminate\Auth\Access\AuthorizationException',
        '\Symfony\Component\HttpKernel\Exception\HttpException',
        '\Illuminate\Database\Eloquent\ModelNotFoundException',
        '\Illuminate\Session\TokenMismatchException',
        '\Illuminate\Validation\ValidationException',

或者这样:

        \Illuminate\Auth\AuthenticationException::class,
        \Illuminate\Auth\Access\AuthorizationException::class,
        \Symfony\Component\HttpKernel\Exception\HttpException::class,
        \Illuminate\Database\Eloquent\ModelNotFoundException::class,
        \Illuminate\Session\TokenMismatchException::class,
        \Illuminate\Validation\ValidationException::class,

出于某种原因,我发现我的没有引号,并且修复了500错误。

张俊茂
2023-03-14

就我而言,我刚刚删除了哎呀。。。或还原默认处理程序。php

卞经业
2023-03-14

检查您的处理程序。php文件与此处的5.3分支版本进行比较:https://github.com/laravel/laravel/blob/5.3/app/Exceptions/Handler.php

注意处理程序中的unauthenticated()方法。php需要一个\illumbite\Auth\AuthenticationException的实例。确保使用Illumbite\Auth\AuthenticationException 包含在文件顶部。

 类似资料:
  • 我正在努力将mysql_results替换为mysqli。有人能帮忙吗。我所需要的只是在下面的代码中更正'mysqli_result($result,'0','theurl')'。当所有东西都使用mysql函数编写时,它就起作用了。但是在我将所有内容转换为mysqli之后,mysql_results转换似乎不起作用了。 当它工作时:echo(mysql_num_rows($query)!==0)?

  • 我得到以下错误: 警告:require_once(D:/xampp/htdocs/inc/head.php):无法打开流:第3行的D:\xampp\htdocs\ecommerce1\index.php中没有此类文件或目录 致命错误:require_once():无法打开required'D:/xampp/htdocs/inc/head。D:\xampp\htdocs\ecommerce1\ind

  • 我已经用JDK在我的SOLARIS SPRAC机器上更新了4个月,回到了1.6.045,直到昨天它运行得很好,没有任何问题,但昨天不幸的是,我遇到了如下致命错误,实例崩溃,作为解决方法,我重新启动了我的服务器实例,它现在运行良好。 我需要知道, 这个错误的确切根本原因是什么 Java运行时环境检测到一个致命错误: pc=0xfebd390c时的SIGSEGV(0xb),pid=2626,tid=3

  • 致命错误:未捕获的错误:调用/home/prasanth/projects/ishen1/index中的未定义函数mysqli_result()引发了堆栈跟踪:#0{main}

  • 我有一个网站,在我的本地主机与xampp完美地工作,但。。。我把它上传到了一些免费的网站(000webhost和hostinger),当我试图打开它时,收到了以下消息: 警告:require(core/libs/smarty/smarty.class.php):无法打开流:在/home/u327900732/public_html/www/index中没有这样的文件或目录。php在线7 致命错误: