前提准備
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
-
配置完記得重啟容器 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。
最后把這個紅色的×去掉。
參考文章:
- https://blog.csdn.net/qq_21891743/article/details/90716941
- https://www.awaimai.com/2746.html
- https://github.com/yeszao/dnmp