下面由phpstorm教學欄位來介紹PHPStorm如何調試Docker中PHP項目 ,希望對需要的朋友有幫助!
本機一直使用docker開發,對於習慣使用除錯的人來說,PHP放在docker容器中又多了一層難度。
當然,這只適用於還不懂配置的時候,一旦掌握竅門,其實是簡單不過的事情,和本機配置幾乎無任何難度差別。
開始之前,我們先做一些環境假設:
,並在主機hosts和nginx設定中綁定
連接埠與nginx容器/應用連線
localhost,如果你用了Laravel 、Yii、Thinkphp等框架,那通常會用類似
mydev.com、
dev.awaimai.com、
awaimai.dev的域名,本文一樣適用。
[XDebug] xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host = host.docker.internal
,也就是docker容器所在的主機。如果主機是Linux系統,
host.docker.internal可能用不了,需要改用PHP容器和主機相同虛擬網路下的IP,在主機中用
docker network inspect dnmp_default指令可找到,其中
dnmp_default是容器的所在的網路。
xdebug.remote_port,因為xdebug預設使用
9000,與我們FPM一致了,不用再設定。如果FPM使用其他端口,
remote_port也要改成對應端口。
重啟PHP容器。
Run–Edit Configurations,
#2 在彈出的方塊中點左上角的號,選擇
PHP Web Page。
...按鈕。
,如果你的域名類似
awaimai.dev,那就填
awaimai. dev。
端口,所以這裡保留預設
80。
,然後填入本機程式碼與容器程式碼的對應關係。如果用的是框架,這裡就填入框架的根目錄。
。
。
表示首頁,如果是其他頁面,例如
/home/index,那就填
/home/index。
OK儲存。
返回程式碼窗口,在程式碼前面打一個【斷點】,再點擊【調試按鈕】 ,如下:
PHPStorm就會自動開啟瀏覽器,等程式執行到斷點時,自動停止。
這裡我們就可以看到PHP中的全域變數、呼叫堆疊、臨時變量,
並且可以單步調試,非常方便。
以上是手把手教你phpstorm如何調試Docker中PHP項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!