在 VS Code 上使用 XDEBUG_TRIGGER env 时 Xdebug 不启动
Xdebug not starting when use the XDEBUG_TRIGGER env on VS Code
我在 VS Code 中配置 Xdebug,当我使用 start_with_request=trigger
设置时它不起作用。
如果我将配置值设置为 yes
它会起作用。
我认为 VS Code 没有从 launch.json
文件发送环境变量。
我的 Xdebug ini 文件:
zend_extension=xdebug.so
xdebug.mode = debug
xdebug.start_with_request = trigger
我的launch.json
:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"env": {
"XDEBUG_TRIGGER": "true"
}
}
]
}
我在 Ubuntu VM 和 Windows 10 上使用 VSCode 和 Microsoft Remote-SSH 扩展。
我的Xdebug扩展是XDebug官方扩展
来自 Xdebug 的日志:
[2393] Log opened at 2022-03-29 13:54:04.173262
[2393] [Config] DEBUG: Checking if trigger 'XDEBUG_TRIGGER' is enabled for mode 'debug'
[2393] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
[2393] [Config] INFO: Trigger value for 'XDEBUG_SESSION' not found, so not activating
[2393] [Config] DEBUG: Checking if trigger 'XDEBUG_TRIGGER' is enabled for mode 'debug'
[2393] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
[2393] [Config] INFO: Trigger value for 'XDEBUG_SESSION' not found, so not activating
[2393] Log closed at 2022-03-29 13:54:04.360936
vscode-php-debug 在这里开发。
这是一个常见的误解。提供的 launch.json
仅侦听 Xdebug/DBGp 连接 - 正如默认名称所暗示的那样。如果那里还有一个 program
设置,VS Code 也会启动一个 (php) 进程。只有在这种情况下,VS Code 才能为新启动的进程的环境做出贡献。
因此,假设您是 运行 网络服务器,您只能通过修改 php.ini 或以某种方式更改该网络服务器进程的进程环境来更改 Xdebug 设置...
您还可以通过在当前代码段的末尾键入 php
来查看其他 launch.json
snippers。也许其中一些可能有用。
如果有人设置了 env
而没有设置 program
...
,也许我应该添加一个警告
我在 VS Code 中配置 Xdebug,当我使用 start_with_request=trigger
设置时它不起作用。
如果我将配置值设置为 yes
它会起作用。
我认为 VS Code 没有从 launch.json
文件发送环境变量。
我的 Xdebug ini 文件:
zend_extension=xdebug.so
xdebug.mode = debug
xdebug.start_with_request = trigger
我的launch.json
:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"env": {
"XDEBUG_TRIGGER": "true"
}
}
]
}
我在 Ubuntu VM 和 Windows 10 上使用 VSCode 和 Microsoft Remote-SSH 扩展。 我的Xdebug扩展是XDebug官方扩展
来自 Xdebug 的日志:
[2393] Log opened at 2022-03-29 13:54:04.173262
[2393] [Config] DEBUG: Checking if trigger 'XDEBUG_TRIGGER' is enabled for mode 'debug'
[2393] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
[2393] [Config] INFO: Trigger value for 'XDEBUG_SESSION' not found, so not activating
[2393] [Config] DEBUG: Checking if trigger 'XDEBUG_TRIGGER' is enabled for mode 'debug'
[2393] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
[2393] [Config] INFO: Trigger value for 'XDEBUG_SESSION' not found, so not activating
[2393] Log closed at 2022-03-29 13:54:04.360936
vscode-php-debug 在这里开发。
这是一个常见的误解。提供的 launch.json
仅侦听 Xdebug/DBGp 连接 - 正如默认名称所暗示的那样。如果那里还有一个 program
设置,VS Code 也会启动一个 (php) 进程。只有在这种情况下,VS Code 才能为新启动的进程的环境做出贡献。
因此,假设您是 运行 网络服务器,您只能通过修改 php.ini 或以某种方式更改该网络服务器进程的进程环境来更改 Xdebug 设置...
您还可以通过在当前代码段的末尾键入 php
来查看其他 launch.json
snippers。也许其中一些可能有用。
如果有人设置了 env
而没有设置 program
...