PHP斷點調試工具Xdebug的安裝

Xdebug是一個PHP程序調試器,能夠用來跟蹤,調試和分析PHP程序的運行情況。其實調試PHP還有其餘工具好比Zend Debugger,但zend官方不是免費發佈的,後來更新爲zend Server也是收費版。而Xdebug是徹底免費的而且功能也不差。其實xdebug能夠看作PHP的擴展,若是環境中沒有集成須要先在官網下載而後安裝,下載地址:https://xdebug.org/download.php。下面說一下安裝方式:php

1.在windows下的安裝方式,在windows安裝時下載須要注意除了下載的擴展和PHP版本一致外還應該查看一下PHP是TS(Thread-Safety)即線程安全仍是NTS(None-Thread Safe)即非線程安全,能夠經過查看phpinfo內容肯定是哪種。找到phpinfo中的PHP Extension Build這一項,以下圖:html

 

下載完成後將dll文件放到php的安裝目錄下,爲了統一能夠放到ext目錄下,也能夠重命名一下,而後再php.ini中加入以下代碼(具體可根據調試場景進行修改)linux

[Xdebug]
zend_extension ="擴展的絕對路徑"
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.auto_trace = 0
xdebug.profiler_enable = 0
xdebug.max_nesting_level = 1000000
xdebug.remote_enable = 1
xdebug.remote_host = localhost
xdebug.remote_port = 9999
xdebug.remote_handler = dbgp
xdebug.idekey = netbeans-xdebug

以上代碼主要適合本地調試的場景,若是是局域網內多人遠程調試能夠添加xdebug.remote_connect_back =1或者根據具體的調試場景進行修改。重啓apache或者php-fpm以後使配置文件生效能夠再phpinfo中查看到以下圖所示:apache

2.linux下安裝xdebug的方式windows

首先也須要在官網下載xdebug,下載source便可,而後解壓後進入解壓後的目錄而後按以下步驟執行:數組

/PHP的安裝目錄/bin/phpize

./configure --with-php-config=/PHP的安裝目錄/bin/php-config

make

make install

執行成功後會顯示一個帶extensions的目錄,記下這個目錄,這個目錄中會包含xdebug.so,而後和windows同樣修改php.ini加入相同代碼(除了擴展目錄和文件名不一樣),重啓php-fpm便可生效。安全

特別提示:無論是Windows仍是Linux安裝xdebug都須要以zend擴展的形式安裝,若是提示XDEBUG NOT LOADED AS ZEND EXTENSION即下圖所示界面則沒有正確安裝,須要從新修改配置文件。app

以上配置是xdebug本地調試,其實xdebug也能夠設置局域網多人調試或者遠程調試的方式。待續....ide

 

 

轉:https://www.liminghulian.com/article/51函數

 

 

另: 配置其它選項:

[Xdebug]    
;指定Xdebug擴展文件的絕對路徑
zend_extension="C:\App\php\php\php-7.0.12-nts\ext\php_xdebug-2.7.0alpha1-7.0-vc14-nts.dll"
;最大循環或調試次數,防止死循環
xdebug.max_nesting_level=50
;啓用性能檢測分析    
xdebug.profiler_enable=On  
;啓用代碼自動跟蹤    
xdebug.auto_trace=on  
;容許收集傳遞給函數的參數變量    
xdebug.collect_params=On  
;容許收集函數調用的返回值    
xdebug.collect_return=On  
;指定堆棧跟蹤文件的存放目錄    
xdebug.trace_output_dir="C:\App\php\debug"  
;指定性能分析文件的存放目錄    
xdebug.profiler_output_dir="C:\App\php\debug"
;追加
xdebug.profiler_append=1
;指定追蹤文件名格式
;xdebug.profiler_output_name = "cachegrind.out.%c"  
xdebug.profiler_output_name = "cachegrind.out.%s"  
;遠程調試是否開啓
xdebug.remote_enable = On
;端口  
xdebug.remote_port=9000  
;遠程調試地址
xdebug.remote_host = 127.0.0.1
;數組或對象最大層數 最大可設置1023
xdebug.var_display_max_depth = 10  
;將require,include相關載入的文件名寫入追蹤文件
xdebug.collect_includes=1
;堆棧追蹤
xdebug.default_enable=1
;打印請求方式
xdebug.dump.SERVER=REQUEST_METHOD
;打印GET請求參數
xdebug.dump.GET=*
;打印POST請求參數
xdebug.dump.POST=*
;打印COOKIE
;xdebug.dump.COOKIE=*
;打印UA
;xdebug.dump.SERVER=HTTP_USER_AGENT

 

參考:  https://www.cnblogs.com/alex-dong/p/9126904.html

相關文章
相關標籤/搜索