Xdebug is a PHP debugging tool, we can use like echo,print and so on to invoke the error, but we have no way to check the function execution times and execution time, and the use of xdebug can be fully implemented Oh, let me introduce in Winodws PHP Xdebug configuration and installation process.
We have to go to the official website download Download php_xdebug.dll,2. Place the downloaded Php_xdebug.dll in the PHP installation directory Phpext, and then edit the php.ini file
The code is as follows |
Copy Code |
[Xdebug] Zend_extension = "/home/ad/php/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" Xdebug.auto_trace = On Xdebug.auto_profile = On Xdebug.collect_params = On Xdebug.collect_return = On Xdebug.profiler_enable = On Xdebug.trace_output_dir = "/home/ad/xdebug_log" Xdebug.profiler_output_dir = "/home/ad/xdebug_log" |
4. Restart Apache.
5. Write a test.php, content , if you see Xdebug in the output content, the installation configuration is successful. Or go to the/home/ad/xdebug_log to see if the logs are out.
PHP Xdebug configuration information
Xdebug section configuration Options Description
Xdebug.auto_trace = 1
Whether to allow Xdebug trace function calls, trace information is stored as a file, the default value is 0
Collect_params = 1
Whether the Xdebug trace function parameter is allowed, the default value is 0
Xdebug.collect_return = 1
Whether the Xdebug trace function return value is allowed, the default value is 0
xdebug.profiler_enable = 1
Open Xdebug Performance Analyzer, stored as a file, this configuration cannot be configured with the Ini_set () function, the default value is 0
Xdebug.profiler_output_dir
Where the profiling file is stored, the default value is/tmp
Xdebug.profiler_output_name
A naming convention for profiling files, with a default value of cachegrind.out.%p
Xdebug.trace_output_dir
function call trace information output file directory, default value is/tmp
Xdebug.trace_output_name
function call trace information output file naming convention, default is trace.%c
Setting options
Category |
Setting |
Description |
Log |
Xdebug.trace_output_dir |
Log Trace Output Directory |
Xdebug.trace_output_name |
Log file name, Xdebug provides a series of identifiers, generate the appropriate format of the file name, please refer to the official website |
Xdebug.trace_options |
The record is added to the file by: 1 = append (if the file exists). 0 (default) = Overwrite (if the file exists) |
Show data |
Xdebug.collect_params |
Non-0 value = parameter display option for control function
- 0 = not displayed.
- 1 = parameter type, value (for example: Array (9)).
- 2 = Ibid. 1, only slightly different in CLI mode
- 3 = ALL variable contents
- 4 = all variable contents and variable names (for example: Array (0 = 9)).
|
Xdebug.collect_return |
1 = function return value is displayed. Default 0 does not display |
Xdebug.collect_vars |
1 = shows which variables are used in the current scope, displays the variable name, does not record the value of the variable, and, if necessary, uses the Xdebug.collect_params |
Xdebug.collect_assignments |
1 = Add a row to display the variable assignment (if 1, the shape is $ A = 1; this type of assignment expression is displayed in the trace file) |
Format |
Xdebug.trace_format |
- 0 = Human readable. From left to right each column represents: Point in time, memory, memory difference (need to set xdebug.show_mem_delta=1), rank, function name, function parameter (need to set, Xdebug.collect_params=1, as long as non-0), the current code line is located in the file name, Line number.
- 1 = machine readable [1]. Need to use third-party apps, such as: Xdebug trace file parser or Xdebug trace viewer
- 2 = HTML format is table, open with browser, show table
|
Xdebug.show_mem_delta |
1 = Show memory consumption per function call (Memory difference) |
Behavior |
Xdebug.auto_trace |
1 = Turn on auto-tracking. (There are 2 ways of tracking, one is auto-tracking, all PHP scripts run, will produce trace files, the other is the trigger mode tracking, such as the following) |
XDEBUG.TRACE_ENABLE_TRIGGER[2] |
1 = use xdebug_trace get/post to trigger tracing, or xdebug_trace by setting a cookie. To avoid each request, the corresponding trace trace file is generated and you need to set the Auto_trace to 0 Note: This feature can only be set in the 2.2+ version
[Xdebug-general] Re:is Trace_enable_trigger defunct? |
Limit |
Xdebug.var_display_max_depth |
Array and object element display depth: Mainly used in array nesting, when object attributes are nested, the element content of the levels is displayed. Default 3. |
Xdebug.var_display_max_data |
How long the variable value is displayed when it is a string. Default 512. |
Xdebug.var_display_max_children |
The number of arrays and object elements to display. Default 128 |
Some custom functions
Function |
Description |
void Xdebug_enable () |
Open manually, equivalent to Xdebug.default_enable=on |
void Var_dump () |
Overwrite PHP provided var_dump, error, display function stack information, (premise: PHP.ini html_errors is 1), use xdebug.overload_var_dump set whether overwrite |
void Xdebug_start_trace ( String Trace_file_path [, integer options]) |
Manual control of code snippets that need to be traced Trace_file_path: File path (relative or absolute, if empty). If empty, or do not pass the parameter, use the Xdebug.trace_output_dir set directory Options:
- xdebug_trace_append:1 = Append file content end, 0 = overwrite the file
- Xdebug_trace_computerized:
- 2 = same as xdebug.trace_format=1.
- Xdebug_trace_html:4 = output HTML table, browser open as a table
|
void Xdebug_stop_trace () |
Stop tracking, code tracking stops on that line |
String Xdebug_get_tracefile_name () |
Get the output file name, used in conjunction with Xdebug.auto_trace. |
void Xdebug_var_dump ([mixed var[,...]) |
Output variable details, the equivalent of PHP var_dump, the specific display please see here |
Xdebug.show_local_vars |
The default is 0, not displayed, or nonzero, when PHP performs an error, displays all local variables in the scope of the error code (note: This generates a lot of information, so the default is closed), which shows the difference as [3] |
Array Xdebug_get_declared_vars () |
To display declared variables in the current scope |
Array Xdebug_get_code_coverage () |
Show which lines the code executes within a section of code [4] |
http://www.bkjia.com/PHPjc/632850.html www.bkjia.com true http://www.bkjia.com/PHPjc/632850.html techarticle Xdebug is a PHP debugging tool, we can use like echo,print and so on to invoke the error, but we have no way to check the function execution times and execution time, and the use of Xdebug ...