PHP斷點調試工具Xdebug的安裝


Xdebug是一個PHP程序調試器,可以用來跟蹤,調試和分析PHP程序的運行狀況。其實調試PHP還有其他工具比如Zend Debugger,但zend官方不是免費發布的,后來更新為zend Server也是收費版。而Xdebug是完全免費的並且功能也不差。其實xdebug可以看做PHP的擴展,如果環境中沒有集成需要先在官網下載然后安裝,下載地址:https://xdebug.org/download.php。下面說一下安裝方式:

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

 

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

[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中查看到如下圖所示:

2.linux下安裝xdebug的方式

首先也需要在官網下載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即下圖所示界面則沒有正確安裝,需要重新修改配置文件。

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

 

 

轉: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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM