文檔內容來自xdebug.org/docs
,翻譯時xdebug版本爲2.6
。我在官方文檔基礎上針對中文排版和教程內容的編排作了一些優化,但願中文文檔看起來更容易理解。php
英文原始文檔地址: https://xdebug.org/docs/
中文文檔github地址: https://github.com/Anoxia/xde...
類型:boolean,默認值:1
參數設置爲1時,在錯誤事件中會顯示堆棧跟蹤信息。您可使用xdebug_disable()
來禁用顯示你的代碼的棧跟蹤。因爲這是Xdebug的基本功能之一,建議將此設置設置爲1。html
該功能僅適用於
Xdebug> = 2.3
類型:int,默認值:0,
若是該參數被設置爲1,那麼老是會顯示錯誤 ,無論PHP的display_errors 是什麼設置。git
該功能僅適用於
Xdebug> = 2.3
類型:int,默認值:0,
這個參數的設置是一個位掩碼,就像error_reporting。該位掩碼將與由error_reporting表示的位掩碼進行邏輯「或」運算,從而肯定應顯示哪些錯誤。此設置只能在php.ini中進行,不管應用程序使用ini_set()
設置何值,都會強制顯示某些錯誤。github
該功能僅適用於
Xdebug> = 2.3
類型:int,默認值:0,
這個參數容許您配置掩碼,以肯定顯示哪些通知和(或)警告轉換爲錯誤。您能夠配置由PHP生成的通知和警告,以及您本身生成的通知和警告(經過trigger_error()
)。數組
例如,要將strlen()
(不帶參數)的警告轉換爲錯誤,您應該這樣作:瀏覽器
ini_set('xdebug.halt_level', E_WARNING); strlen(); echo "Hi!\n";
這將致使錯誤信息的顯示以及腳本的停止。echo "Hi!\n";
將不會被執行。cookie
該設置是一個位掩碼,因此要將全部通知和警告轉換爲全部應用程序的錯誤,能夠在php.ini中設置:函數
xdebug.halt_level = E_WARNING | E_NOTICE | E_USER_WARNING | E_USER_NOTICE
位掩碼只支持上面提到的四個級別。佈局
類型:int,默認值:256
控制無限遞歸保護的保護機制。此設置的值是在腳本停止以前所容許的嵌套函數的最大級別。優化
在Xdebug 2.3以前,默認值是100。
該功能僅適用於Xdebug> = 2.3
類型:int,默認值:-1。
控制堆棧跟蹤中顯示的堆棧幀的數量,包括PHP錯誤堆棧跟蹤期間的命令行以及HTML跟蹤的瀏覽器。
該功能僅適用於
Xdebug> = 2.1
類型:boolean,默認值:0。
若是此設置爲1,則Xdebug將禁用@操做符
,以便通知,警告和錯誤再也不隱藏。
正常狀況返回調用類,若是堆棧幀不存在返回NULL
,堆棧幀沒有類信息返回FALSE
此函數返回定義當前方法的類的名稱,或者 `FALSE若是沒有類與此調用關聯。
Example:
<?php class Strings { static function fix_string($a) { echo xdebug_call_class(). "::". xdebug_call_function(). " is called at ". xdebug_call_file(). ":". xdebug_call_line(); } } $ret = Strings::fix_string( 'Derick' ); ?>
Returns:
Called @ /home/httpd/html/test/xdebug_caller.php:17 from ::{main}
要從較早的堆棧幀中檢索信息,請使用可選的 $depth
參數。參數爲1
時返回執行xdebug_call_class()
方法的調用信息的值:
Example:
<?php class Strings { static function fix_string( $a ) { echo xdebug_call_class( 1 ). "::". xdebug_call_function( 1 ). " is called at ". xdebug_call_file( 1 ). ":". xdebug_call_line( 1 ); } } $ret = Strings::fix_string( 'Derick' ); ?>
Returns:
Strings::fix_string is called at /home/httpd/html/test/xdebug_caller:17
參數爲2
(默認值)時,返回調用當前方法的方法調用信息:
Example:
<?php class Strings { static function fix_string( $a ) { echo xdebug_call_class( 2 ). "::". xdebug_call_function( 2 ). " is called at ". xdebug_call_file( 2 ). ":". xdebug_call_line( 2 ); } static function fix_strings( array $a ) { foreach ( $a as $element ) { self::fix_string( $a ); } } } $ret = Strings::fix_strings( [ 'Derick' ] ); ?>
Returns:
Strings::fix_strings is called at /home/httpd/html/test/xdebug_caller:25
參數爲0
時,返回相應的xdebug_call_*
調用的信息:
Example:
<?php class Strings { static function fix_string( $a ) { echo xdebug_call_class( 0 ). "::". xdebug_call_function( 0 ). " is called at ". xdebug_call_file( 0 ). ":". xdebug_call_line( 0 ); } static function fix_strings( array $a ) { foreach ( $a as $element ) { self::fix_string( $a ); } } } $ret = Strings::fix_strings( [ 'Derick' ] ); ?>
Returns:
::xdebug_call_function is called at /home/httpd/html/test/xdebug_caller:13
返回調用文件,若是堆棧幀不存在返回NULL
該函數返回從當前函數/方法執行的文件名。
要從較早的堆棧幀中檢索信息,請使用可選的 $depth
參數。
有關示例和更普遍的信息,請參見xdebug_call_class()
若是堆棧幀不存在返回NULL
,若是堆棧幀沒有函數/方法信息返回FALSE
。
該函數返回當前函數/方法的名稱。
要從較早的堆棧幀中檢索信息,請使用可選的 $depth
參數。
有關示例和更普遍的信息,請參見xdebug_call_class()
返回改函數調用所在行號,若是堆棧幀不存在返回NULL
。
這個函數返回從當前函數/方法被調用的行號。
要從較早的堆棧幀中檢索信息,請使用可選的 $depth
參數。
有關示例和更普遍的信息,請參見xdebug_call_class()
禁用堆棧跟蹤
禁止在錯誤狀況下顯示堆棧跟蹤。
啓用堆棧跟蹤
在錯誤狀況下啓用顯示堆棧跟蹤。
該功能僅適用於
Xdebug> = 2.1
返回全部收集的錯誤消息。
此函數返回收集緩衝區中的全部錯誤,其中包含使用xdebug_start_error_collection()
開始錯誤收集時存儲在那裏的全部錯誤 。
默認狀況下,這個函數不會清除錯誤收集緩衝區。當該函數的參數爲true
時緩衝區內容將被清除。
此函數返回一個字符串,其中包含格式化爲「Xdebug table」的全部收集的錯誤。
該功能僅適用於
Xdebug> = 2.1
經過調用PHP的header()
函數返回全部的頭文件。
返回全部使用PHP的header()
函數設置的頭文件,或者PHP內部設置的任何其餘頭文件(好比經過setcookie()
),做爲返回數組內容。
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" }
返回是否啓用堆棧跟蹤
返回是否在出現錯誤時顯示堆棧軌跡。
返回當前的內存使用狀況
返回腳本使用的當前內存量。在PHP 5.2.1以前,這隻有在使用--enable-memory-limit
進行編譯時纔有效。從5.2.1版本開始,這個函數老是可用的。
返回峯值內存使用狀況
返回腳本直到如今使用的最大內存量。在PHP 5.2.1以前,這隻有在使用--enable-memory-limit
進行編譯時纔有效。從5.2.1版本開始,這個函數老是可用的。
開始記錄全部的通知,警告和錯誤,並阻止他們的顯示。該功能僅適用於Xdebug> = 2.1
當執行這個函數時,Xdebug將致使PHP不顯示任何通知,警告或錯誤。相反,它們根據Xdebug的正常錯誤格式化規則(即帶有紅色感嘆號的錯誤表)格式化,而後存儲在緩衝區中。這將繼續,直到你調用xdebug_stop_error_collection()
。
這個緩衝區的內容能夠經過調用xdebug_get_collected_errors()
來獲取 ,而後顯示。若是你想防止Xdebug強大的錯誤報告功能破壞你的佈局,這是很是有用的。
中止記錄由xdebug_start_error_collection()
啓動的全部通知,警告和錯誤。該功能僅適用於Xdebug> = 2.1
執行此函數時,由xdebug_start_error_collection()
啓動的錯誤收集將 被停止。存儲在收集緩衝區中的錯誤不會被刪除,仍然能夠經過xdebug_get_collected_errors()
獲取 。
返回當前時間索引
從腳本開始以秒爲單位返回當前時間索引。
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