基於 Windows + Laradock 在 vscode 上使用 xdebug 設定

wulijieone發表於2019-04-23

最近學習在 windows 上使用 laradock,花了幾天時間各種找資料學習外加設定,終於把 vscode 和 laradock 的 xdebug 連線上了。

安裝 Xdebug 擴充套件

開啟 laradock 目錄下的 .env,搜尋 WORKSPACE_INSTALL_XDEBUGPHP_FPM_INSTALL_XDEBUG 都改為 true

WORKSPACE_INSTALL_XDEBUG=true
PHP_FPM_INSTALL_XDEBUG=true

我的 Xdebug 配置

編輯 laradock/workspace/xdebug.ini 以及 laradock/php-fpm/xdebug.ini,我的具體配置如下:

xdebug.remote_host=docker.for.win.localhost
xdebug.remote_connect_back=0
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM

xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.cli_color=0
xdebug.profiler_enable=0
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling"

xdebug.remote_handler=dbgp
xdebug.remote_mode=req

xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1

然後重新建立映象和容器,時間主要花在這裡了,尤其 apt-get 時間相當長,光是這裡 build 花了我至少 1 個多小時,(╯‵□′)╯︵┻━┻
$ docker-compose up -d nginx mysql redis workspace

我的 VS Code設定

vscode 主要是 pathMappings 這裡,我把本地專案對映到了 /var/www/ 目錄下,例如 /var/www/p2p/var/www/bbs

{
    // 使用 IntelliSense 瞭解相關屬性。
    // 懸停以檢視現有屬性的描述。
    // 欲瞭解更多資訊,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000,
            "log": true,
            "pathMappings": {
                "/var/www/p2p": "${workspaceRoot}",
            }
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}

執行一下 Xdebug,連線成功,本來都要放棄使用 VS Code 的 ╮(╯▽╰)╭ ,現在終於不用換 PhpStorm 啦
基於 Windows + Laradock 在 vscode 上使用 xdebug 設定

參考: https://learnku.com/articles/24389#配置Xdebug

相關文章