亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

想要 Xdebug -- 使用 Win10 WSL Ubuntu 20、vscode

想要 Xdebug -- 使用 Win10 WSL Ubuntu 20、vscode

PHP
慕萊塢森 2023-07-08 21:48:44
在Laravel中啟動一個新項目。在Win10 v2004 (2020年4月)下使用最新的WSL2而不是Homestead。一切都很好?,F在我勇敢地想要使用Xdebug來設置 PHP 斷點。我已經在WSL中的Ubuntu 20中安裝了Xdebug。~/STGdev/lv $ php -vPHP 7.4.3 (cli) (built: May 26 2020 12:24:22) ( NTS )Copyright (c) The PHP GroupZend Engine v3.4.0, Copyright (c) Zend Technologies    with Xdebug v3.0.0-dev, Copyright (c) 2002-2020, by Derick Rethans    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies我無法讓任何斷點工作。最大的問題是 --- vs code Xdebug擴展是否使用Ubuntu PHP還是需要我在 Windows 下安裝XAMPP PHP ?說明中暗示可以使用其中之一嗎?
查看完整描述

3 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

您不需要安裝 XAMPP,所有設置都由安裝了 PHP 的 WSL 管理。我在 Windows 10 21H2 中使用 WSL2 (Ubuntu 20) 有一個帶有 docker 的 Laravel 項目,這是我使 xdebug 工作的設置。我使用 Xdebug 2.9.8,xdebug.ini 中的文本有一些更改,但大部分是相同的。


PHP 7.1.33 (cli) (built: Nov 22 2019 18:34:33) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

    with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans

如果您使用將項目/文件從 Windows 掛載到 WSL2 環境

xdebug.ini


xdebug.remote_enable = On

xdebug.remote_autostart = On

xdebug.remote_connect_back = Off

xdebug.remote_host = "host.docker.internal"

xdebug.remote_port=9009 

Dockerfile


FROM php:7.1-fpm

RUN pecl install xdebug-2.9.8 \

&& docker-php-ext-enable xdebug

COPY xdebug.ini /usr/local/etc/php/conf.d/

Docker-compose.yml


services:

 webapp:

  working_dir: /var/www/html

  volumes:

  - ./my-project-folder:/var/www/html

進入您的項目文件夾,輸入code .以使用 WSL 打開項目,然后創建調試文件 (launch.json):(通過單擊擴展并選擇“啟用”在 WSL 中啟用 PHP Xdebug 擴展)


"name": "Listen for Xdebug",

"type": "php",

"request": "launch",

"port": 9009,

"pathMappings": {

    "/var/www/html": "${workspaceFolder}"

}

如果您使用 wsl 文件系統(在 wsl 環境中克隆您的項目,而不是從 Windows 掛載它):設置幾乎與 (1) 類似,但您需要一些額外的修改:

Docker-compose.yml


extra_hosts:

  - "host.docker.internal:host-gateway"

VS Code 的 launch.json


"hostname": "0.0.0.0",

就這樣。根據我的經驗,第二種方法比第一種方法快得多。


查看完整回答
反對 回復 2023-07-08
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

您有兩個選項來啟用調試:

  • 使用VSCode Remote - WSL 擴展,讓 VSCode 為您配置其他所有內容

  • 在 php.ini 中配置 XDebug遠程配置

我的建議是使用 WSL 擴展方法。

請記住,如果您決定使用擴展方法,則會出現 Git 無法正確識別修改后的文件的問題


查看完整回答
反對 回復 2023-07-08
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

您已經安裝了 XDebug 3。Xdebug 的版本 3 改變了您需要配置其設置的方式。最重要的重大變化是監聽端口現在是9003而不是9000。這是我的本地主機中 Xdebug 3 的php.ini配置(它應該可以在任何地方工作):


[xdebug]

zend_extension="C:\xampp\php\ext\php_xdebug-3.0.4-7.4-vc15-x86_64.dll"

xdebug.mode=develop,debug

xdebug.client_host=127.0.0.1

xdebug.client_port=9003

xdebug.start_with_request=trigger

更改 Xdebug 擴展的路徑,您現在應該可以調試代碼了。


查看完整回答
反對 回復 2023-07-08
  • 3 回答
  • 0 關注
  • 262 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號