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!