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

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

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

請注意,該方法因爲須要docker容器可以與宿主機進行網絡通訊,所以對於mac上的docker容器不可用(mac的docker使用linux vm技術實現,默認沒法與本地網絡實現通訊,可是也能夠經過其餘方式曲線救國,這裏不講),可是mac上的phpstorm可使用該方法鏈接遠程linux服務器上的docker容器內的php xdebuglinux

配置docker容器內的php xdebug環境

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

  • 將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調試,這裏推薦安裝一個瀏覽器擴展,該擴展在啓用時能夠保存此參數並附加到每一個頁面中以便調試docker

  • 火狐瀏覽器能夠安裝:The easiest xdebug擴展
  • chrome瀏覽器能夠安裝:XDebug Helper擴展
相關文章
相關標籤/搜索