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