Home  >  Article  >  PHP Framework  >  How to use Whoops to debug ThinkPHP6 exceptions?

How to use Whoops to debug ThinkPHP6 exceptions?

PHPz
PHPzOriginal
2023-06-12 11:34:401335browse

During the development process, various abnormal situations often occur. Handling these abnormal situations is a skill that developers must master. ThinkPHP6 is one of the more popular PHP frameworks at present. It provides some powerful exception handling mechanisms, but it needs to be combined with third-party tools for debugging when used specifically.

This article will introduce a very practical PHP debugging tool - Whoops, and how to use it in ThinkPHP6 to debug various abnormal situations.

1. What is Whoops?

Whoops is a library used to capture errors and exceptions when PHP programs are running. It provides a friendly error message display page to facilitate programmers to find errors. and debug.

Whoops supports multiple exception types, including PHP kernel exceptions, fatal errors, user-defined exceptions, JavaScript exceptions, etc. At the same time, the error information display page provided by Whoops is also very intuitive, beautiful, and easy to customize.

2. Why use Whoops in ThinkPHP6?

The built-in exception handling mechanism of the ThinkPHP6 framework is very powerful, but its error messages are also relatively concise and difficult to intuitively reflect the problem. Using Whoops can provide a more friendly and beautiful error message display page, making it easier to find problems.

In addition, using Whoops also allows developers to enjoy a more flexible debugging method. When using Whoops, we can view the values ​​of variables, call stacks, cookies, sessions and other information in real time, which is very important for programmers.

3. How to use Whoops in ThinkPHP6?

  1. Installing Whoops

It is very simple to install Whoops using Composer. We only need to execute the following command in the project root directory:

composer require filp/whoops
  1. Configuring Whoops

Before using Whoops, we need to perform some simple configuration.

First, we need to add the Whoops service provider in the config/app.php file:

// 添加服务提供者
'services' => [
    // ...
        hinkwhoopsServiceProvider::class,
],

Then, we need to make some configurations in the config/whoops.php file. The specific configuration is as follows :

return [
    // 是否开启调试模式
    'debug' => true,

    // 结合thinkphp调试模式
    'think' => true,

    // 是否自动检测控制器、模型等目录下所有类
    'auto_scan' => true,

    // 排除的目录列表,支持正则表达式
    'exclude' => [
        '/vendor/*',
        '/.git/*',
        '/runtime/*',
        '/public/*'
    ],

    // 自定义处理程序
    'handler' => null,

    // 配置文件保存路径,默认路径为'/runtime/whoops'
    'log' => true,
    'log_path' => app()->getRuntimePath() . 'whoops/',

    // 配置报告
    'report' => [
        // 支持'response'、'json'、'html'、'xml'、'console'
        'type' => 'html',

        // 支持'text/plain'、'application/json'、'text/html'、'application/xml'、WhoopsUtilMisc::getPreferredMimeType()
        'content_type' => 'text/html',

        // 配置报告页面还是控制台,'auto'表示自动选择
        'output' => 'auto',

        // 定义页面标题
        'page_title' => 'Whoops Error',

        // 配置访问控制
        'access_control' => [
            // 配置允许的IP列表
            'allow' => [],

            // 配置拒绝的IP列表
            'deny' => [],

            // 配置需要登录的IP列表
            'challenge' => [],
        ]
    ],
];

The above are the basic configuration items of Whoops, most of which can be configured according to your own needs.

  1. Using Whoops

After the above steps, we can use the Whoops debugging tool normally. When an error or exception occurs while our application is running, it will automatically jump to the Whoops error message display page.

This page may contain some useful information, such as call stack, request parameters, request headers, Cookie, Session and other information. This information can help us locate the problem faster and solve it.

4. Summary

Using Whoops can provide a more intuitive and beautiful exception information display page, helping us find the problem faster and debug it. Whoops also supports a variety of exception types, including PHP kernel exceptions, fatal errors, user-defined exceptions, JavaScript exceptions, etc., which is very practical.

Using Whoops in the ThinkPHP6 framework is very simple. We only need to make some simple configurations to use the tool for debugging normally. Of course, the configuration also needs to be adjusted and modified according to your actual needs.

Finally, please note that using Whoops is just a debugging tool. The quality and integrity of the code still require our developers to continue to work hard to ensure the stability and maintainability of the program.

The above is the detailed content of How to use Whoops to debug ThinkPHP6 exceptions?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn