php 安裝xdebug擴展

1、下載Xdebug

到目前爲止,Xdebug的最新版本爲2.4.0,你可以前往Xdebug官方網站下載與自己的PHP版本匹配的Xdebug模塊文件。

由於筆者使用的是php5.5.12版本,因此下載的Xdebug模塊文件爲php_xdebug-2.2.5-5.5-vc11-nts-x86_64.dll

2、安裝配置Xdebug

接着,我們將Xdebug模塊文件放入PHP安裝目錄/ext文件夾中,接着我們在PHP配置文件php.ini中追加如下配置內容:  

 


 
  1. [Xdebug]

  2. ;指定Xdebug擴展文件的絕對路徑

  3. zend_extension="d:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll"

  4. ;啓用性能檢測分析

  5. xdebug.profiler_enable=on

  6. ;啓用代碼自動跟蹤

  7. xdebug.auto_trace=on

  8. ;允許收集傳遞給函數的參數變量

  9. xdebug.collect_params=on

  10. ;允許收集函數調用的返回值

  11. xdebug.collect_return=on

  12. ;指定堆棧跟蹤文件的存放目錄

  13. xdebug.trace_output_dir="D:/debug"

  14. ;指定性能分析文件的存放目錄

  15. xdebug.profiler_output_dir="D:/debug"

  16. xdebug.profiler_output_name = cachegrind.out.%t.%p

 

備註:在上述配置內容中,zend_extension用於指定Xdebug擴展模塊的文件路徑(由於Xdebug是基於Zend引擎的擴展,因此必須使用zend_extension配置指令,而不是extension。zend_extension指令的配置路徑必須是絕對路徑)。之後的6個配置語句是Xdebug的配置參數。
此時,我們重啓服務器,通過訪問含有phpinfo()函數的PHP文件,即可看到Xdebug模塊的相關信息。 

3、配置參數選項附錄

在上面的Xdebug配置中,我們只配置了6個常用的配置選項。當然,Xdebug還支持更多的配置參數,詳情見下表。 
配置參數選項

  參數值類型與默認值 參數選項描述
xdebug.auto_trace boolean類型,默認值=0 是否在腳本運行之前自動調用相關追蹤函數。
xdebug.cli_color integer類型,默認值=0 該參數自2.2版本開始引入。如果值=1,當處於CLI模式或連接虛擬控制檯時,Xdebug將高亮顯示var_dumps()和堆棧輸出,;在Windows中,這需要安裝ANSICON工具。如果值=2,不管是否處於CLI模式或連接虛擬控制檯,Xdebug都會高亮顯示var_dumps()或堆棧輸出;這種情況下,你可能會看到轉義後的代碼。
xdebug.collect_assignments boolean類型,默認值=0 該參數自2.1版本開始引入。用於控制是否爲函數跟蹤添加變量賦值功能。
xdebug.collect_includes boolean類型,默認值=1 控制是否在跟蹤文件中寫入include()、include_once()、require()、require_once()等函數中用到的文件名。
xdebug.collect_params integer類型,默認值=0

控制在調用函數時,是否收集傳遞給函數的參數信息。如果參數值過大,這可能會佔用大量的內存;不過,在Xdebug 2中不會出現該問題,因爲Xdebug 2將相關數據寫入磁盤中,而不是佔用內存。

如果值=0,則不顯示任何信息。
如果值=1,只顯示類型和大小信息,例如:string(6)、array(8)。
如果值=2,將顯示類型和大小,以及全部信息的工具提示。
如果值=3,將顯示變量的全部內容。
如果值=4,將顯示變量的全部內容和變量名。

xdebug.collect_return boolean類型,默認值=0 控制是否在追蹤文件中寫入函數調用的返回值。
xdebug.collect_vars boolean類型,默認值=0 控制是否收集指定作用域中的變量信息。由於需要反向工程PHP的操作碼數組,因此Xdebug的分析速度可能比較慢。
xdebug.coverage_enable boolean類型,默認值=1 該參數自2.2版本開始引入。控制是否允許通過設置內部結構來啓用代碼覆蓋率功能。
xdebug.default_enable boolean類型,默認值=1 當發生異常或錯誤時,是否默認顯示堆棧信息。
xdebug.dump.* string類型,默認值=Empty 這裏的*可以是COOKIE, FILES, GET, POST, REQUEST, SERVER, SESSION中的任意一個。用於指定發生錯誤時是否顯示超全局變量數組中的索引變量信息。比如,你想要顯示請求的IP地址和請求方式,可以設置爲
xdebug.dump.SERVER=REMOTE_ADD,REQUEST_METHOD
多個索引變量用英文逗號隔開,如果要輸出其中的所有變量,可以直接用*,例如:
xdebug.dump.GET=*
xdebug.dump_globals boolean類型,默認值=1 控制是否顯示通過xdebug.dump.*定義的所有超全局變量的信息。
xdebug.dump_once boolean類型,默認值=1 如果出現多個錯誤,控制超全局變量信息是在所有錯誤中顯示,還是隻在第一個錯誤中顯示。
xdebug.dump_undefined boolean類型,默認值=1 控制是否顯示超全局變量中未定義的值。
xdebug.extended_info integer類型,默認值=1 是否強制進入PHP解析器的"extended_info"模式,這將允許Xdebug以遠程調試器對文件或行添加斷點。開啓此模式將拖慢腳本的允許速度,該參數只能在php.ini中設置。
xdebug.file_link_format string類型,默認值=, 自2.2版本開始引入。用於指定堆棧信息中用到的文件名稱的鏈接樣式,這允許IDE通過設置鏈接協議,直接點擊堆棧信息中的文件名稱,即可快速打開指定的文件。例如:ZendStudio://%f@%l(%f表示文件路徑,%f表示行號)。
xdebug.force_display_errors integer類型,默認值=0 自2.3版本開始引入。是否強制顯示錯誤信息。
xdebug.force_error_reporting integer類型,默認值=0 自2.3版本開始引入。是否強制顯示所有錯誤級別的信息。
xdebug.halt_level integer類型,默認值=0 自2.3版本開始引入。指定出現那些錯誤級別的錯誤時,中止程序運行。例如:xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE(也僅支持上述4種錯誤級別)。
xdebug.idekey string類型,默認值=*complex* 指定傳遞給DBGp調試器處理程序的IDE Key。
xdebug.manual_url string類型,默認值=http://www.php.net 僅2.2.1以下版本可用,用於指定從函數堆棧和錯誤信息鏈接到的幫助手冊的基本URL。
xdebug.max_nesting_level integer類型,默認值=100 指定遞歸的嵌套層級數。
xdebug.overload_var_dump boolean類型,默認值=1 自2.2版本開始引入,當php.ini中的html_error設爲1時,Xdebug是否默認使用自身的改進版本來重載var_dump()。
xdebug.profiler_append integer類型,默認值=0 當多個請求映射到相同文件時,指定是覆蓋之前的調試信息文件還是追加內容到該文件中。
xdebug.profiler_enable integer類型,默認值=0 指定是否啓用Xdebug的性能分析,並創建性能信息文件。
xdebug.profiler_output_dir string類型,默認值=/tmp 指定性能分析信息文件的輸出目錄
xdebug.profiler_output_name string類型,默認值=cachegrind.out.%p 指定性能分析信息文件的名稱
xdebug.remote_enable boolean類型,默認值=0 是否開啓遠程調試
xdebug.remote_handler string類型,默認值=dbgp 指定遠程調試的處理協議
xdebug.remote_host string類型,默認值=localhost 指定遠程調試的主機名
xdebug.remote_log string類型,默認值= 指定遠程調試的日誌文件名
xdebug.remote_mode string類型,默認值=req 可以設爲req或jit,req表示腳本一開始運行就連接遠程客戶端,jit表示腳本出錯時才連接遠程客戶端。
xdebug.remote_port integer類型,默認值=9000 指定遠程調試的端口號
xdebug.trace_options integer類型,默認值=0 指定對於之後的請求,追蹤文件是追加內容還是覆蓋之前內容。
xdebug.trace_output_dir string類型,默認值=/tmp 指定追蹤文件的存放目錄
xdebug.trace_output_name string類型,默認值=trace.%c 指定追蹤文件的名稱
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章