PHP Debug使用 Notepad++ 和 Xdebug

最近工作上需要瞭解一套使用PHP Framework開發的系統,但程式碼多到看不過來,不知如何切入,想以debug的方式找系統執行上的蛛絲馬跡,也對後續開發有所幫助。

實際找了一下發現還滿多方案,因為懶的再安裝其他東西,最後選擇比較適合目前開發環境(windows)的方式:Notepad++ 搭配 Xdebug,雖然Notepad++的DBGP Plugin最後更新的版本感覺有點舊(2012),但目前看起來還堪用。

找出適合開發環境的版本並下載Xdebug
提醒:除了需要挑選與PHP版本一致外,也需確認PHP是TS(Thread-Safety)還是NTS(None-Thread Safe),可從phpinfo的PHP Extension Build這一項得知。

下載之後將dll放至PHP的ext目錄下,並在php.ini加入Xdebug相關設定(參考設定如下),設定完成後重新啟動Apache服務。
[XDebug]
;指定dll所在位置
zend_extension="E:\AppServ\php7\ext\php_xdebug-2.9.2-7.3-vc15-x86_64.dll"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.collect_vars = On
xdebug.collect_return = On
xdebug.collect_params = On
xdebug.profiler_enable=1
;視情況自行調整路徑
xdebug.profiler_output_dir="E:\AppServ\www\xdebug"
xdebug.remote_log="E:\AppServ\www\xdebug\xdebug.log"
xdebug.profiler_output_dir ="E:\AppServ\www\xdebug"

安裝Notepad++的外掛工具DBGP Plugin
下載後將dbgpPlugin.dll複製到Notepad++的 plugins資料內,重新啟動Notepad++就可以看到DBGP外掛工具。 


DBGP設定config:
Remote Server IP:虛擬主機的網域
IDE KEY: 從phpinfo查找xdebug.idekey值
Remote Path和Local Path:設目標網站的根目錄路徑
Refresh local context on erery step和Refresh global context on every step都勾選

提醒:需注意Notepad++是64位元還是32位元的版本,由於dbgpPlugin.dll是32位元的版本,不一致的話會出現錯誤。

參考資料:


留言

這個網誌中的熱門文章

工具-使用Notepad++編輯XML文件

不負責的Google Drive 介面語系問題排解

LimeSurvey安裝筆記