【问题标题】:Laravel get unserialize() error when i'm tring to use set_error_handler当我尝试使用 set_error_handler 时,Laravel 出现 unserialize() 错误
【发布时间】:2018-08-16 06:15:19
【问题描述】:

在 Laravel 中,我正在尝试使用 php set_error_handler 方法来处理 Web 应用程序的错误并避免崩溃,不幸的是,当我在 __constructor() 上定义此代码时,例如此示例,我收到此错误:

数组:4 [▼
“错误号” => 8
“错误字符串”=>“反序列化(): 在 123 个字节的偏移 0 处出错"
“错误文件” => "C:\xampp\htdocs\instacheeta\vendor\laravel\framework\src\Illuminate\Auth\Recaller.php" “错误线” => 24]

我的代码:

public function __construct()
{
    set_error_handler([$this, 'customError'], E_ALL);
    parent::__construct();
}

function customError($errno, $errstr, $errfile, $errline)
{
    dd(
        [
            'Error no ' => $errno,
            'Error String' => $errstr,
            'Error File ' => $errfile,
            'Error Line' => $errline
        ]
    );
}

似乎问题是在dd 上使用参数,当我评论dd 时我没有收到错误

我该如何解决这个问题?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    你所做的并没有错。不幸的是,您设置了自己的错误处理程序,它调用 customError 方法。显然我认为确实有一个错误。

    DD 转储给定变量并按照文档中的说明结束脚本的执行。

    因此,当您删除 DD 行时,方法 customError 变为空/无效,尽管捕获的错误仍然存​​在。

    这就是使用 set_error_handler 的目的,因此您可以设置用户定义的错误处理函数并决定如何处理捕获的错误。

    【讨论】:

      猜你喜欢
      • 2019-09-26
      • 1970-01-01
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-27
      • 2015-11-04
      • 2023-04-08
      相关资源
      最近更新 更多