Microsoft VS Code:当我尝试启动程序时出现错误 "spawn php ENOENT"

Microsoft VS Code: When I try to launch my program error "spawn php ENOENT" shows up

我正在尝试 运行 PHP 在 Microsoft VS Code 上编写代码。当我单击启动时,唯一发生的事情是调试控制台中出现错误:

spawn php ENOENT

为了解决这个问题,我将 XDebug 的 dll 文件放到了 ext 文件夹中。我将 php.ini-development 复制到一个名为 php.ini 的新文件中,并在该文件中将其添加到文件末尾。

zend_extension="[file path]"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1

这没有任何改变。

然后,我为我的防火墙添加了入站规则以允许端口 9000 上的入站连接。仍然没有任何改变。我该如何解决这个问题?

为我修复的是将此行添加到用户设置:

"phpserver.phpPath": "c:\Ampps\php-7.1\php.exe"

您的路径可能会有所不同。 (-> 发生错误,因为未找到您的 php)

php服务器:这是因为我使用了PHP服务器扩展。如果您使用不同的扩展名,则需要不同的参数。

我正在使用 PHP_DEBUG extension and with a portable laragon 环境。 我必须对我的工作区设置/用户设置进行此更改

        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "runtimeExecutable":"D:\Share\Dev\Laragon\bin\php\php-7.3.10-Win32-VC15-x64\php.exe",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }

基本上我必须添加由 PHP_debug 扩展定义的 runtimeExecutable 行。

我使用 this guide 开始使用 vscode + xdebug + laragon

但是我仍然有一个问题,当 运行 个单独的脚本时,没有为 CLI 正确加载环境和扩展

对于PHP-有类似问题的调试用户:

工作了很长时间,最近(2021 年 10 月)对我不起作用了。

通常在 SPAWN ENOENT 错误中它会显示它为 PHP.

设置的路径

虽然正确的位置在 PATH 环境变量中(在 PHP-Debug 扩展中默认使用),它仍然给出错误。

如果您在设置中明确设置 runtimeExecutable,那也会失败。

唯一对我有用的是将 runtimeExecutable 设置为 "PHP"

此错误的一个原因可能是 VS Code 中缺少启动配置。您可以尝试在目录 .vscode.

中添加一个 launch.json

这是我正在使用的。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003
        }
    ]
}

我通过设置工作目录解决了这个问题。好像每个tab都要设置。