PhpStorm連接docker容器內的php XDebug進行斷點調試

PhpStorm連接容器內的XDebug進行斷點調試

php進行斷點調試儘管不像其他語言那樣方便,但是有些是有確實有其用處,比如調試循環內的數據異常時。在php於phpstorm都安裝在同一環境下時,配置phpstorm的xdebug調試並不是多困難的事情,但是如果你使用了docker容器來安放你的php環境時,他們之間的配合工作就不是那麼簡單容易的了,下邊介紹一下如何使phpstorm連通docker容器內的php xdebug

請注意,該方法由於需要docker容器能夠與宿主機進行網絡通信,因此對於mac上的docker容器不可用(mac的docker使用linux vm技術實現,默認無法與本地網絡實現通信,但是也可以通過其他方式曲線救國,這裏不講),但是mac上的phpstorm可以使用該方法連接遠程linux服務器上的docker容器內的php xdebug

配置docker容器內的php xdebug環境

在docker容器中安裝好php-pecl-xdebug擴展之後,編輯/etc/php.d/下的*-xdebug.ini文件(如果沒有該文件也可以直接寫在php.ini文件末尾)

  • 將xdebug.remote_enable參數設置爲1
  • 將xdebug.remote_host參數設置爲你的宿主機IP(如果你的phpstorm安裝在你的宿主機,否則指向你phpstorm所在機器的IP)
  • 將xdebug.remote_port參數設置爲你要使用的端口(默認爲9000)

配置phpstorm

  • 打開phpstorm的設置:PhpStorm->Preferences(command + ,)
  • 配置languages & Frameworks->PHP->Debug頁面中xdebug項的debug port爲你容器中xdebug設置的端口
  • 配置languages & Frameworks->PHP->Servers頁面,添加Server

配置phpstorm的debug

  • 打開phpstorm的設置:run->Edit configurations
  • 添加一個PHP Web Appliation
  • 將右上角的小電話的圖標設置爲監聽狀態就可以啓用XDEBUG調試程序了

瀏覽器擴展

php的xdebug需要監聽請求中的特定參數才能啓用xdebug調試,這裏推薦安裝一個瀏覽器擴展,該擴展在啓用時可以保存此參數並附加到每個頁面中以便調試

  • 火狐瀏覽器可以安裝:The easiest xdebug擴展
  • chrome瀏覽器可以安裝:XDebug Helper擴展
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章