如何結合phpstorm配置在docker中的xdebug

freephp發表於2022-02-24
作為一個資深的php開發者,我在之前的一篇文章裡面也講了如何搭建lnmp的docker映象,這裡不再贅述。在基於映象執行容器中我也安裝了xdebug,於是考慮用phpstorm來配置xdebug。
使用xdebug的好處很多:1.可以讓開發者進行斷點除錯。2.並可以收集和顯示執行階段的變數和值。3.減少不必要的程式碼除錯。這樣php開發者就不用每次手動寫程式碼進行斷點除錯,不用"var_dump"、"echo" 、"print_r"之類的輸出語句列印變數。而且xdebug還提供了可以step in(步進)到呼叫函式內部,這樣更方便進行debug。
首先給一個phpstorm和xdebug互相呼叫的圖:
0
由此可見,需要配置好docker中的xdebug的配置,還有就是IDE中的xdebug相關配置。
1.配置docker中的xdebug。
先進入docker容器,然後使用php --ini命令查詢到xdebug的配置檔案地址。
用vim開啟20-xdebug.conf,增加如下所示的配置:
zend_extension=xdebug.so
[XDebug]
xdebug.start_with_request = yes
;xdebug.remote_handler = "dbgp"
xdebug.remote_connect_back=1
xdebug.remote_enable=1
xdebug.client_host=192.168.3.6
xdebug.remote_port=9003
xdebug.remote_log = "/var/log/dnmp/php.xdebug.log"
xdebug.idekey=PHPSTORM
xdebug.mode=debug
其中xdebug.client_host是xdebug3的新配置,可以填寫宿主機(就是你真實電腦)的ip,這是關鍵,千萬不要填寫什麼172開頭的,那是docker同網段的ip,不是本機真正的ip。如果你是的mac,可以用ifconfig檢視你的en0的ip,其他作業系統的命令類似。
然後remote_port就是監聽的埠號,建議用900x埠號,這樣不會和常見已用的埠號重複。完成上面步驟,記得重啟容器讓配置生效
2.phpstorm的配置很簡單,先選擇ide的preferences,然後選擇debug選項皮膚,如圖所示。
 
0
然後再配置Server,如下圖所示。
0
最後配置php web page,用上一步配置好的server即可,如下圖所示。
0
然後就可以開始快樂地使用xdebug了。

相關文章