PHP XDEBUG 扩展 | 文档 Xdebug 的基本功能包括错误状态时的堆栈跟踪展示、最大嵌套级别的保护和时间跟踪。 相关设置xdebug.default_enable
类型:布尔值,默认值: 1
如果这个设置设置为 1,错误事件发生时堆栈跟踪将会默认显示。可以在代码 xdebug_disable() 中关闭显示错误跟踪。这是 Xdebug 基础函数中的一个函数,建议将此设置设为 1.
xdebug.force_display_errors
类型:整数,默认值: 0, 由 Xdebug 2.3 引入
如果这个设置设置为 1,无论 PHP 的 display_errors 为多少,错误都将会显示。 xdebug.force_error_reporting
类型:整数,默认值: 0, 由 Xdebug 2.3 引入
这个设置是一个位掩码,像 error_reporting。这个位掩码将会与 error_reporting 所表示的位掩码进行逻辑与运算来决定应该显示哪种错误。这个设置只能在 php.ini 中完成,无论一个应用中 ini_set() 的值是多少,它允许你强制显示某些错误。 xdebug.halt_level
类型:整数,默认值: 0, 由 Xdebug 2.3 引入
这个设置允许你配置一个位掩码来决定是否将通知和(或者)警告转换为错误,以及将哪些通知和(或者)警告转换为错误。你可以配置 PHP 生成的通知和警告和你自己生成的通知和警告(意思是 trigger_error())。例如,转换 strlen()(没有参数)的警告为错误,你可以: ini_set('xdebug.halt_level', E_WARNING); strlen(); echo "Hi!\n"; 这结果将会是显示错误信息并且终止脚本。 这个设置是位掩码,针对所有应用转换所有通知和警告为错误,可以在 php.ini 中设置这个: xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE 这个位掩码只支持上面提到的 4 种错误级别。 xdebug.max_nesting_level
类型:整数,默认值: 256
针对无穷递归的控制保护机制。在脚本中止之前,这个函数嵌套的最大层级的设置值是被允许的。 Xdebug 2.6之前,如果超出这会创建一个致命的异常。从 Xdebug 2.6 开始及更高版本 ,而是抛出一个 "Error" 异常。 在 Xdebug 2.3 之前,默认值是 xdebug.max_stack_frames
类型: 整型,默认值: -1,由 Xdebug >= 2.3 引入
控制堆栈跟踪中显示的堆栈帧数量,基于 PHP 错误堆栈跟踪期间的命令行,以及浏览器中的 HTML 跟踪。 xdebug.scream
类型:布尔值,默认值: 0, 由 Xdebug >= 2.1 引入
如果这个设置为1,Xdebug 将会禁用 @(屏蔽错误、抑制报错)操作符,所以通知、警告和错误将不在隐藏。
相关函数string xdebug_call_class( [int $depth = 2] )
返回调用的类,如果堆栈帧不存在返回
NULL ,如果堆栈帧没有类信息则返回 FALSE 这个函数返回定义当前方法的类的名称,如果没有与此调用关联的类则返回 示例:
<?php 返回:
Called @ /home/httpd/html/test/xdebug_caller.php:17 from ::{main}
为了从更早的堆栈帧中获得信息,请使用可选的 示例:
<?php 返回:
Strings::fix_string is called at /home/httpd/html/test/xdebug_caller:17
值为 示例:
<?php 返回:
Strings::fix_strings is called at /home/httpd/html/test/xdebug_caller:25
值为 示例:
<?php 返回:
::xdebug_call_function is called at /home/httpd/html/test/xdebug_caller:13 string xdebug_call_file( [int $depth = 2] )
返回调用文件,如果堆栈帧不存在则返回
NULL string xdebug_call_function( [int $depth = 2] )
返回调用的函数或者方法,如果堆栈帧不存在则返回
NULL ,如果堆栈帧没有函数或者方法信息则返回 FALSE int xdebug_call_line( [int $depth = 2] )
返回调用的行号,如果堆栈帧不存在则返回
NULL void xdebug_disable()
禁止堆栈跟踪
错误状态时禁止显示堆栈跟踪。 void xdebug_enable()
开启堆栈跟踪
错误状态时开启显示堆栈跟踪。 string xdebug_get_collected_errors( [int clean] )
返回收集的所有错误信息
在 2.1 版本引入
这个函数从缓存集合区返回所有的错误,缓存区包含当用 xdebug_start_error_collection() 把错误集合开启时存储在这里的所有错误信息。 默认设置这个函数不会清除错误缓存集合区。如果传递 "true" 作为这个函数的参数,那么缓存区也将会被清除。 这个函数会返回一个字符串,包含用 "Xdebug 表格"格式化的所有收集的错误。 array xdebug_get_headers()
通过调用 PHP header() 函数,返回设置的所有头部信息
在 2.1 版本引入
以数组的形式返回由 PHP header() 函数设置或者由 PHP 内部设置的(比如通过 setcookie())所有的头部。 示例:
<?php 返回:
array(2) { [0]=> string(6) "X-Test" [1]=> string(33) "Set-Cookie: TestCookie=test-value" } bool xdebug_is_enabled()
返回堆栈跟踪是否开启
在发生错误的情况下,返回堆栈跟踪是否会显示。 int xdebug_memory_usage()
返回当前的内存使用
返回当前脚本使用的内存数量。在 PHP 5.2.1 之前,只工作在 PHP 使用 --enable-memory-limit 编译之后。在 PHP 5.2.1 和之后的版本中这个函数总是有效的。 int xdebug_peak_memory_usage()
返回内存使用的峰值
返回截止到目前脚本使用内存的最大数量。在 PHP 5.2.1 之前,只工作在 PHP 使用 --enable-memory-limit 编译之后。在 PHP 5.2.1 和之后的版本中这个函数总是有效的。 void xdebug_start_error_collection()
开启记录所有的通知、警告和错误,并且阻止他们的显示
在 2.1 版本引入
当这个函数执行时, Xdebug 将会让 PHP 不显示任何通知、警告和错误。而是根据 Xdebug 正常标准的错误格式化规则来格式化这些信息并储存在缓存区中。直到调用 xdebug_stop_error_collection() 才会停止。 这个缓存区的内容可以通过调用 xdebug_get_collected_errors 来获取并接着显示出来。如果你想阻止 Xdebug 强力的错误报告功能破坏你的布局,这个函数非常有用。 void xdebug_stop_error_collection()
停止记录由 xdebug_start_error_collection() 开启的所有通知、警告和错误。
在 2.1 版本引入
当函数执行时,由 xdebug_start_error_collection() 开启的错误收集将会停止。这些错误储存在缓存集合区不会被删除,仍然可以通过 xdebug_get_collected_errors 获取到。 float xdebug_time_index()
返回当前的时间索引
返回自脚本开始时的时间索引,以秒为单位。 示例:
<?php 返回:
0.00038003921508789 0.76580691337585 |
||