我已经浏览了我能找到的关于这个主题的每一篇文章,但我找不到解决方案。所以,我不会再把头发拔出来了,我会发布一个问题。
我安装了一个Lando(运行Drupal8,但我正在测试一个简单的phpinfo()
脚本(,Xdebug已确认正在运行。每当我添加断点并运行脚本时,它都无法停止。
Xdebug:的自定义Lando.ini
[PHP]
Xdebug
xdebug.max_nesting_level = 256
xdebug.show_exception_trace = 0
xdebug.collect_params = 0
; Extra custom Xdebug setting for debug to work in VSCode.
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.remote_host = ${LANDO_HOST_IP}
xdebug.remote_connect_back = 0
xdebug.remote_mode = req
xdebug.remote_autostart = On
xdebug.remote_log = /tmp/xdebug.log
xdebug.idekey = VSCODE
max_execution_time = 0
xdebug.log 的输出
245] Log opened at 2020-09-09 14:42:21
[245] I: Connecting to configured address/port: host.docker.internal:9000.
[245] I: Connected to client. :-)
[245] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///app/web/info.php" language="PHP" xdebug:language_version="7.3.22" protocol_version="1.0" appid="245" idekey="VSCODE"><engine version="2.9.6"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2020 by Derick Rethans]]></copyright></init>
[245] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
[245] Log closed at 2020-09-09 14:42:21
我让xdebug在PhpStorm中没有问题地工作,但在VSCode中没有运气。
最新版本v3.0.22之后**
包括对xdebug 3的支持,您将需要.lando.yml
中的xdebug: debug
和config: php
设置
services:
appserver:
webroot: web
xdebug: debug
config:
php: .lando.php.ini
带有的.lando.php.ini
文件
[PHP]
xdebug.mode=debug
xdebug.start_with_request = yes
xdebug.client_host = ${LANDO_HOST_IP}
xdebug.log = /tmp/xdebug.log
以及CCD_ 6和CCD_ 7 中的vscode配置
{
"version": "0.2.0",
"configurations": [
{
"name": "Lando XDebug",
"type": "php",
"request": "launch",
"port": 9003,
"log": false,
"pathMappings": {
"/app/": "${workspaceFolder}/",
}
}
]
}
3.0.19版本之前及之前
我能够使用这个配置.vscode/launch.json
用vscode运行lando-xdebug
{
"version": "0.2.0",
"configurations": [
{
"name": "Lando XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"log": true,
"pathMappings": {
"/app/": "${workspaceRoot}/",
}
},
]
}
我的.lando.yml
中没有包含任何landophp.ini
配置
services:
appserver:
webroot: web
xdebug: true
# no need for php.ini configuration
# config:
# php: .lando.php.ini
官方xdebug实际上指示