phpStorm中使用xdebug工具調試docker容器中的程序


前提准備

phpstorm開發軟件 + dnmp(docker + nginx + mysql +php)

  • 配置好hosts 映射比如 /etc/hosts      127.0.0.1 tp5.dev
  • 為現有的php環境安裝好xdebug擴展,安裝成功之后可以通過頁面輸出phpinfo()查看是否安裝成功xdebug
  • 安裝能夠進行調試的ieda環境,一般對於php程序開發者來說,使用phpStorm較多,本文也是通過這個講述。
  • 成熟的docker構建的環境。 可以使用https://github.com/yeszao/dnmp

 

配置xdebug

[XDebug]
;開啟xdebug支持遠程調試
xdebug.remote_enable=1
;遠程調試的主機,一般都是docker宿主機器,本地調試就是本機,ip可以通過`docker inspect 容器名獲得`
xdebug.remote_host=172.19.0.2
;遠程調試機器的端口,一般是9000,和后面講到的phpStorm里面保持一致
xdebug.remote_port=9000
;idekey 對接調試的密鑰,和后面phpStorm里面的務必保持一致
xdebug.idekey=PHPSTORM
;自動觸發調試,可以將這個值設為1;
xdebug.remote_autostart=1
;更多參數介紹請參見這里 https://xdebug.org/docs/all_settings
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.max_nesting_level=250
  • xdebug.remote_host 可以使用 docker inspect 查看php-fpm所在的容器的ip ,如果是mac的話可以使用host.docker.internal

  • xdebug.remote_port 一般跟php-fpm的端口一致就可以了。

配置完記得重啟容器 docker restart 容器名稱

配置phpStorm

主要包括配置基礎debug,配置server,啟動debug等幾個步驟。

配置xdebug的基礎信息

打開setting->debug里面做如下配置,9000表示啟動的端口,和上面的xdebug里面的保持一致。

 

再setting->server中做如下配置,下面的Use path mapping一定要勾選配置好,不然可能出現控制台能夠看到調試,但是phpStorm斷點攔截不到的情況。

一定要配置好use path mapping 映射本地目錄和遠程目錄的對應的關系。

 

配置和啟動一個xdebug程序,編輯配置。

再彈出框的左上角點擊+號,增加一個PHP Remote Debug應用,選擇剛剛上面創建的server(remoteDebug),然后Session id為PHPSTORM,和上面xdebug里面的保持一致。然后點擊右下角Apply和OK。

最后把這個紅色的×去掉。

 

 

參考文章: 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM