How to debug php

王林
王林Original
2019-09-24 17:54:237425browse

How to debug php

How to debug a PHP program?

1. Check whether there are syntax errors

php -l test.php

2. Basic debugging

Basic debugging API:

var_dump($var);print_r($var);echo $var;

Basic configuration:

display_errors、log_errors、error_reporting、error_log

Note: Sometimes, error reporting will be turned off , needs to be turned on manually.

Commonly used codes:

ini_set("display_errors","On");
error_reporting(E_ALL);

3. Use the error collection function

debug_backtrace —Generate a backtrace ( backtrace)

debug_print_backtrace — Print a backtrace.

error_clear_last — Clear the latest error

error_get_last — Get the last error that occurred

error_log — Send error information to somewhere

error_reporting — Set what kind of PHP errors should be reported

restore_error_handler — Restore the previous error handling function

restore_exception_handler — Restore the previously defined exception handling function.

set_error_handler — Set a user-defined error handling function

set_exception_handler — Set a user-defined exception handling function

trigger_error — Generates a user-level error/warning/notice message

user_error — Alias ​​for trigger_error

register_shutdown_function('my_shutdown_handler');

function my_shutdown_handler()
{
    $error = error_get_last();
    if ($error) {
        try{
            //发送邮件
        } catch(Exception $e) {

        }
    }
    return false;
}

4. Remember log

file_put_contents('log.text', var_export($var, 1), FILE_APPEND);

In addition, you also need to configure error_log

Generally, check the error log of apache. Command line execution errors cannot be collected.

5. Use xdebug tool

xdebug_start_trace();
/* 业务代码 */
xdebug_stop_trace();

Recommended tutorial: PHP video tutorial

The above is the detailed content of How to debug php. 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