企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
>Xdebug's basic functions include the display of stack traces on error conditions, maximum nesting level protection and time tracking. ##Related Settings **xdebug.default_enable** _Type: boolean, Default value: 1_ If this setting is 1, then stacktraces will be shown by default on an error event. You can disable showing stacktraces from your code with xdebug_disable(). As this is one of the basic functions of Xdebug, it is advisable to leave this setting set to 1. **xdebug.force_display_errors** _Type: int, Default value: 0, Introduced in Xdebug 2.3_ If this setting is set to 1 then errors will always be displayed, no matter what the setting of PHP's display_errors is. **xdebug.force_error_reporting** _Type: int, Default value: 0, Introduced in Xdebug 2.3_ This setting is a bitmask, like error_reporting. This bitmask will be logically ORed with the bitmask represented by error_reporting to dermine which errors should be displayed. This setting can only be made in php.ini and allows you to force certain errors from being shown no matter what an application does with ini_set(). **xdebug.halt_level** _Type: int, Default value: 0, Introduced in Xdebug 2.3_ This setting allows you to configure a mask that determines whether, and which, notices and/or warnings get converted to errors. You can configure notices and warnings that are generated by PHP, and notices and warnings that you generate yourself (by means of trigger_error()). For example, to convert the warning of strlen() (without arguments) to an error, you would do: ``` ini_set('xdebug.halt_level', E_WARNING); strlen(); echo "Hi!\n"; ``` Which will then result in the showing of the error message, and the abortion of the script. `echo "Hi!\n"`; will not be executed. The setting is a bit mask, so to convert all notices and warnings into errors for all applications, you can set this in php.ini: xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE The bitmask only supports the four level that are mentioned above. **xdebug.max_nesting_level** _Type: integer, Default value: 100_ Controls the protection mechanism for infinite recursion protection. The value of this setting is the maximum level of nested functions that are allowed before the script will be aborted. **xdebug.scream** _Type: boolean, Default value: 0, Introduced in Xdebug >= 2.1_ If this setting is 1, then Xdebug will disable the @ (shut-up) operator so that notices, warnings and errors are no longer hidden. ##Related Functions **string xdebug_call_class()** _Returns the calling class_ This function returns the name of the class from which the current function/method was called from. **Example:** ``` <?php function fix_string($a) { echo "Called @ ". xdebug_call_file(). ":". xdebug_call_line(). " from ". xdebug_call_function(); } $ret = fix_string(array('Derick')); ?> ``` **Returns:** ``` Called @ /home/httpd/html/test/xdebug_caller.php:12 from {main} ``` string xdebug_call_file() _Returns the calling file_ This function returns the filename that contains the function/method that called the current function/method. For an example see xdebug_call_class(). **string xdebug_call_function()** _Returns the calling function/method_ This function returns the name of the function/method from which the current function/method was called from. For an example see xdebug_call_class(). **int xdebug_call_line()** _Returns the calling line_ This function returns the line number that contains the function/method that called the current function/method. For an example see xdebug_call_class(). **void xdebug_disable()** _Disables stack traces_ Disable showing stack traces on error conditions. **void xdebug_enable()** _Enables stack traces_ Enable showing stack traces on error conditions. **void xdebug_get_collected_errors( [int clean] )** _Returns all collected error messages Introduced in version 2.1_ This function returns all errors from the collection buffer that contains all errors that were stored there when error collection was started with xdebug_start_error_collection(). By default this function will not clear the error collection buffer. If you pass true as argument to this function then the buffer will be cleared as well. This function returns a string containing all collected errors formatted as an "Xdebug table". **array xdebug_get_headers()** _Returns all the headers as set by calls to PHP's header() function Introduced in version 2.1_ Returns all the headers that are set with PHP's header() function, or any other header set internally within PHP (such as through setcookie()), as an array. **Example:** ``` <?php header( "X-Test", "Testing" ); setcookie( "TestCookie", "test-value" ); var_dump( xdebug_get_headers() ); ?> ``` **Returns:** ``` array(2) { [0]=> string(6) "X-Test" [1]=> string(33) "Set-Cookie: TestCookie=test-value" } ``` **bool xdebug_is_enabled()** _Returns whether stack traces are enabled_ Return whether stack traces would be shown in case of an error or not. **int xdebug_memory_usage()** _Returns the current memory usage_ Returns the current amount of memory the script uses. Before PHP 5.2.1, this only works if PHP is compiled with --enable-memory-limit. From PHP 5.2.1 and later this function is always available. **int xdebug_peak_memory_usage()** _Returns the peak memory usage_ Returns the maximum amount of memory the script used until now. Before PHP 5.2.1, this only works if PHP is compiled with --enable-memory-limit. From PHP 5.2.1 and later this function is always available. **void xdebug_start_error_collection()** _Starts recording all notices, warnings and errors and prevents their display Introduced in version 2.1_ When this function is executed, Xdebug will cause PHP not to display any notices, warnings or errors. Instead, they are formatted according to Xdebug's normal error formatting rules (ie, the error table with the red exclamation mark) and then stored in a buffer. This will continue until you call xdebug_stop_error_collection(). This buffer's contents can be retrieved by calling xdebug_get_collected_errors() and then subsequently displayed. This is really useful if you want to prevent Xdebug's powerful error reporting features from destroying your layout. **void xdebug_stop_error_collection()** _Stops recording of all notices, warnings and errors as started by xdebug_start_error_collection() Introduced in version 2.1_ When this function is executed, error collection as started by xdebug_start_error_collection() is aborted. The errors stored in the collection buffer are not deleted and still available to be fetched through xdebug_get_collected_errors(). **float xdebug_time_index()** _Returns the current time index_ Returns the current time index since the starting of the script in seconds. **Example:** ``` <?php echo xdebug_time_index(), "\n"; for ($i = 0; $i < 250000; $i++) { // do nothing } echo xdebug_time_index(), "\n"; ?> ``` **Returns:** ``` 0.00038003921508789 0.76580691337585 ```