在對運行在容器中的環境進行debug,可以通過網頁和腳本倆種方式進行debug,
這里介紹下對容器中的腳本進行debug。
xdebug的原理了解。

xdebug是php的擴展,會搜集php執行的信息,然后發送給指令的遠程ip+port。這里通常我們使用的開發工具會監聽某個port。接受到php執行信息。再debug界面進行顯示。
首先,容器中的php環境需要有安裝好xdebug擴展并且配置好,這里對應的image名稱為php_sk。

這是運行的容器,/etc/docker/daemon.josn為使用api訪問docker的配置(目的是使phpstorm能訪問到容器)
,這里由于是測試環境,沒做訪問控制。

虛擬機安裝在VirtualBox里,網絡為NAT模式,通過端口轉發和內部進行通信

通過對端口2375的轉發,瀏覽器可以訪問到api

設置debug端口,默認9000

配置phpstorm里的docker訪問參數

這時候可以看到虛擬機中的容器,可以進行啟動,暫停,和訪問


選擇php版本,和命令行訪問模式,選擇docker,找到php對應的image

配置對應的目錄,設置的name,在后面執行腳本會使用到

配置debug,由于是命令行執行腳本,選擇php script

連接至虛擬機,執行腳本(/home/www/sk/html/index.php),ip替換成phpstorm所在主機的ip
復制代碼 代碼如下:
docker run --rm -v /home/www:/home/www --env "XDEBUG_CONFIG=remote_host=10.249.22.204 remote_port=9010" --env "PHP_IDE_CONFIG=serverName=new" php_sk php /home/www/sk/html/index.php

可以看到,已經可以對腳本進行debug了
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。