当前位置: 首页 > 后端技术 > PHP

Xdebug中文文档-基本特性

时间:2023-03-29 18:16:27 PHP

文档内容来自xdebug.org/docs,翻译时xdebug版本为2.6。我在官方文档的基础上,对中文排版和教程内容的布局做了一些优化,希望中文文档看起来更容易理解。英文原文档地址:https://xdebug.org/docs/中文文档github地址:https://github.com/Anoxia/xde...相关设置参数xdebug.default_enable类型:boolean,默认值:1参数设置为1时,堆栈跟踪显示在错误事件中。您可以使用xdebug_disable()来禁用显示代码的堆栈跟踪。由于这是Xdebug的基本功能之一,建议将此设置设为1。xdebug.force_display_errors此功能仅适用于Xdebug>=2.3类型:int,默认值:0,如果将此参数设为1,然后总是显示错误,不管PHP的display_errors设置是什么。xdebug.force_error_reporting该函数仅适用于Xdebug>=2.3类型:int,默认值:0,该参数的设置是一个位掩码,与error_reporting类似。此位掩码将与error_reporting表示的位掩码进行ORed,以确定应显示哪些错误。此设置只能在php.ini中进行,并且无论应用程序使用ini_set()设置的值如何,都会强制显示某些错误。xdebug.halt_level此函数仅适用于Xdebug>=2.3类型:int,默认值:0,此参数允许您配置掩码以确定显示哪些通知和(或)将警告转换为错误。您可以配置PHP生成的通知和警告,以及您自己生成的通知和警告(通过trigger_error())。例如,要将strlen()(不带参数)的警告变成错误,您应该这样做:ini_set('xdebug.halt_level',E_WARNING);strlen();echo"Hi!\n";这将导致错误信息显示和脚本中止。回声“嗨!\n”;不会被执行。这个设置是一个位掩码,所以要将所有通知和警告变成所有应用程序的错误,你可以在php.ini中设置:xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE四个级别。xdebug.max_nesting_level类型:int,默认值:256控制无限递归保护的保护机制。此设置的值是脚本中止前允许的最大嵌套函数级别。在Xdebug2.3之前,默认值为100。xdebug.max_stack_frames此函数仅适用于Xdebug>=2.3类型:int,默认值:-1。控制堆栈跟踪中显示的堆栈帧数,包括PHP错误堆栈跟踪期间的命令行以及HTML跟踪中的浏览器。xdebug.scream此功能仅适用于Xdebug>=2.1类型:布尔值,默认值:0。如果将其设置为1,Xdebug将禁用@运算符,以便通知、警告和错误不再隐藏。相关函数stringxdebug_call_class()[int$depth=1])正常返回调用类,如果栈帧不存在则返回NULL,如果栈帧没有类信息则返回FALSE该函数返回定义类的类名当前方法,如果没有与此调用关联的类,则为FALSE。例子:Returns:Called@/home/httpd/html/test/xdebug_caller.php:17from::{main}要从较早的堆栈帧中检索信息,使用可选的$depth参数。当参数为1时,返回执行xdebug_call_class()方法的调用信息值:Example:Returns:Strings::fix_string在/home/httpd/html/test/xdebug_caller:17参数为2(默认值)时,返回调用当前方法的方法调用信息:Example:Returns::xdebug_call_function在/home/httpd/html/test/xdebug_caller:13stringxdebug_call_file([int$depth=1])返回调用文件,如果堆栈帧不存在则返回NULL该函数返回当前函数/方法执行的文件名要从较早的堆栈帧中检索信息,请使用可选的$depth参数。有关示例和更多信息,请参见xdebug_call_class()stringxdebug_call_function([int$depth=1])如果堆栈帧不存在,则返回NULL,如果堆栈帧没有函数/方法信息,则返回FALSE。此函数返回当前函数/方法的名称。要从较早的堆栈帧中检索信息,请使用可选的$depth参数。有关示例和更广泛的信息,请参见xdebug_call_class()。intxdebug_call_line([int$depth=1])返回调用函数的行号,如果堆栈帧不存在则返回NULL。此函数返回调用当前函数/方法的行号。要从较早的堆栈帧中检索信息,请使用可选的$depth参数。有关示例和更广泛的信息,请参见xdebug_call_class()voidxdebug_disable()禁用堆栈跟踪在错误情况下禁用堆栈跟踪显示。voidxdebug_enable()启用堆栈跟踪在错误情况下启用堆栈跟踪显示。stringxdebug_get_collected_errors([intclean])此函数仅适用于Xdebug>=2.1返回所有收集到的错误信息。此函数返回收集缓冲区中的所有错误,其中包含使用xdebug_start_error_collection()开始错误收集时存储在那里的所有错误。默认情况下,该函数不清除错误收集缓冲区。当该函数的参数为??真时,缓冲区内容将被清除。此函数返回一个字符串,其中包含格式为“Xdebug表”的所有收集到的错误。arrayxdebug_get_headers()此函数仅适用于Xdebug>=2.1通过调用PHP的header()函数返回所有标头。返回使用PHP的header()函数设置的所有标头,或由PHP内部设置的任何其他标头(例如通过setcookie()),作为返回数组内容。示例:返回:array(2){[0]=>string(6)"X-Test"[1]=>string(33)"Set-Cookie:TestCookie=test-value"}boolxdebug_is_enabled()返回堆栈跟踪是否启用返回错误时是否显示堆栈跟踪发生。intxdebug_memory_usage()返回当前内存使用情况返回脚本使用的当前内存量。在PHP5.2.1之前,这仅在使用--enable-memory-limit编译时有效。从5.2.1版本开始,此功能始终可用。intxdebug_peak_memory_usage()返回内存使用峰值返回脚本到目前为止使用的最大内存量。在PHP5.2.1之前,这仅在使用--enable-memory-limit编译时有效。从5.2.1版本开始,此功能始终可用。voidxdebug_start_error_collection()开始记录所有通知、警告和错误,并阻止显示它们。此功能仅适用于Xdebug>=2.1Xdebug将导致PHP在执行此功能时不显示任何通知、警告或错误。相反,它们根据Xdebug的正常错误格式化规则(即带有红色感叹号的错误表)进行格式化,然后存储在缓冲区中。这将一直持续到您调用xdebug_stop_error_collection()为止。这个缓冲区的内容可以通过调用xdebug_get_collected_errors()来获取,然后显示出来。如果您想防止Xdebug强大的错误报告功能破坏您的布局,这将很有用。voidxdebug_stop_error_collection()停止记录由xdebug_start_error_collection()启动的所有通知、警告和错误。此函数仅适用于Xdebug>=2.1执行此函数时,由xdebug_start_error_collection()启动的错误收集将被中止。存储在收集缓冲区中的错误不会被删除,仍然可以通过xdebug_get_collected_errors()检索。floatxdebug_time_index()返回当前时间索引从脚本开始返回当前时间索引(以秒为单位)。示例:返回:0.000380039215087890.76580691337585