如何解决无法使Xdebug与Lando和VSCode一起使用立即连接并停止
我已经遍历了关于该主题的所有帖子,但找不到解决方案。因此,我将向您发布问题,而不是将我的头发拉得更多。
我有一个Lando安装(正在运行Drupal 8,但是我正在一个简单的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中没有运气。
解决方法
最新release v3.0.22 **
之后其中包括对 xdebug 3 的支持,您将需要在xdebug: debug
config: php
和.lando.yml
设置
services:
appserver:
webroot: web
xdebug: debug
config:
php: .lando.php.ini
带有{p>的.lando.php.ini
文件
[PHP]
xdebug.mode=debug
xdebug.start_with_request = yes
xdebug.client_host = ${LANDO_HOST_IP}
xdebug.log = /tmp/xdebug.log
和.vscode/launch.json
中port: 9003
中的vscode配置
{
"version": "0.2.0","configurations": [
{
"name": "Lando XDebug","type": "php","request": "launch","port": 9003,"log": false,"pathMappings": {
"/app/": "${workspaceFolder}/",}
}
]
}
之前和直到release v3.0.19
使用这种配置.vscode/launch.json
,我能够使用vscode运行lando xdebug
{
"version": "0.2.0","port": 9000,"log": true,"pathMappings": {
"/app/": "${workspaceRoot}/",}
},]
}
并且我的php.ini
中没有包含任何Lando .lando.yml
配置
services:
appserver:
webroot: web
xdebug: true
# no need for php.ini configuration
# config:
# php: .lando.php.ini
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。