如何在 Visual Studio 代码 (VSCode) 上 运行 或调试 php
How to run or debug php on Visual Studio Code (VSCode)
我找不到在 Visual studio 代码上 运行 或调试 php 的方法,有人知道怎么做吗?
就我今天读到的内容而言,目前除了 node.js、JavaScript 和 TypeScript 之外,您无法调试任何其他内容,但他们说他们想要添加新的语言,您可以调试。编辑器仍在开发中。不过,我不认为将来会有 php 调试器,因为 php 是服务器端的,所以你不能单独在客户端调试它。
如果你想调试php,我可以推荐xDebug。
更新:
调试 PHP 与 VSCode 使用 vscode-php-debug 扩展
VSCode 现在可以通过市场扩展 vscode-php-debug.
支持调试 PHP 个项目
此扩展在后台使用 XDebug,并允许您使用断点、监视、堆栈跟踪等:
从 VSCode 中直接安装:使用 F1 调用命令行,然后键入 ext install php-debug
Visual Studio 代码中现在有配置 PHP 调试的便捷指南
从link开始,步骤是:
- 下载并安装Visual Studio代码
- 在用户设置中配置 PHP linting
- 从 Visual Studio 市场
下载并安装 PHP 调试扩展
- 为 XDebug 配置 PHP 调试扩展
请注意,linked 文章中有具体细节,包括 VS Code 用户配置的 PHP 值等。
如果您使用的是 Ubuntu 16.04 和 php7,您可以使用以下命令安装 xdebug:
sudo apt-get install php-xdebug
您可以找到完整的配置过程here。
如果您正在使用 windows,您可以从 xdebug.org 下载 xdebug。
并开始在带有 php-debug 扩展名的 VS-code 中进行调试。
他们已经足够帮助完整的答案,但如果您想查看过程,那么
[ click here ]
简述步骤
- 下载php调试插件[https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug]
- 下载xDebug.dll[https://xdebug.org/wizard.php]
- 将 xdebug 文件移动到 [ ?? /php/分机/这里]
使用以下行更新 php.ini 文件:
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension=path/to/xdebug
[干得漂亮]
- 确保您已重新启动本地服务器
值得注意的是,您必须在 Visual Studio 代码中打开项目文件夹,调试器才能工作。在编辑器中只打开单个文件时,我花了几个小时让它工作。
问题解释here
要使用 vscode 调试 php,您需要这些东西:
- vscode 安装了 php 调试插件 (XDebug);
- php XDebug.so/XDebug.dll 下载并配置;
- 一个网络服务器,例如apache/nginx或者什么都没有(使用php内置服务器)
您可以按照 vscode 官方 guide.It 的方式逐步完成步骤 1 和 2,完全推荐使用 XDebug installation wizard 来验证您的 XDebug 配置。
如果你想在没有独立 web 服务器的情况下进行调试,php 内置可能是 choice.Start 内置服务器通过 php -S localhost:port -t path/to/your/project
命令,将你的项目目录设置为文档root.You可以参考this post了解更多详情。
有一种更简单的方法 运行 PHP,无需配置:
- 安装 Code Runner Extension
- 在文本编辑器中打开 PHP 代码文件
- 使用快捷方式
Ctrl+Alt+N
- 或按
F1
然后select/typeRun Code
,
- 或右键单击文本编辑器,然后单击编辑器上下文菜单中的
Run Code
- 或单击编辑器标题菜单中的
Run Code
按钮
- 或单击文件资源管理器上下文菜单中的
Run Code
按钮
此外,您可以 select 部分 PHP 代码和 运行 代码片段。很方便!
如果你不想安装 xDebug 或其他扩展,只想 运行 a PHP 文件而不调试,您可以使用构建任务完成此操作。
使用构建任务(不需要扩展)
首先打开命令面板(Ctrl+Shift+P in Windows、⌘+Shift+P 在 Mac) 和 select“任务:打开用户任务”。现在将我的配置复制到您的 tasks.json 文件中。这将创建可以在任何时间和任何工作空间中使用的用户级任务。
{
"version": "2.0.0",
"tasks": [
{
"label": "Start Server",
"type": "shell",
"command": "php -S localhost:8080 -t ${fileDirname}",
"isBackground": true,
"group": "build",
"problemMatcher": []
},
{
"label": "Run In Browser",
"type": "shell",
"command": "open http://localhost:8080/${fileBasename}",
"windows": {
"command": "explorer 'http://localhost:8080/${fileBasename}'"
},
"group": "build",
"problemMatcher": []
},
{
"label": "Run In Terminal",
"type": "shell",
"command": "php ${file}",
"group": "none",
"problemMatcher": []
}
]
}
如果你想 运行 你的 php 文件在终端中,打开命令选项板和 select“任务:运行 任务”,然后是“运行 在终端中。
如果您想 运行 将您的代码放在响应网络浏览器的网络服务器上,请打开命令选项板和 select“任务:运行 任务”,然后是“启动服务器”到 运行 PHP 的内置服务器,然后“运行 在浏览器中”到 运行 当前从浏览器打开的文件。
请注意,如果您已经有一个网络服务器 运行ning,您可以删除 Start Server
任务并更新 localhost:8080
部分以指向您所在的任何 URL使用。
使用PHP调试
注意:这部分是我原来的回答。我最初认为它可以在没有 PHP Debug 的情况下工作,但看起来 PHP Debug 实际上在启动配置中公开了 php
类型。没有理由在上述构建任务方法上使用它。我把它留在这里以防它有用。
将以下配置复制到您的用户设置中:
{
"launch": {
"version": "0.2.0",
"configurations": [
{
"type": "php",
"request": "launch",
"name": "Run using PHP executable",
"program": "${file}",
"runtimeExecutable": "/usr/bin/php"
}
]
}
// all your other user settings...
}
这会创建一个全局启动配置,您可以在任何 PHP 文件上使用它。注意 runtimeExecutable
选项。您需要使用计算机上 PHP 可执行文件的路径更新它。复制上面的配置后,只要打开 PHP 文件,就可以按 F5 键 运行 PHP 代码并将输出显示在 vscode终端。
对我来说最好的解决方案是直接在终端运行 PHP 代码中添加一个键绑定
为此,您只需从 VS 代码扩展市场下载 terminal-command-keys
:
然后进入文件>首选项>键盘快捷键并单击右上角的以下图标:
它将打开 keybindings.json
文件
添加以下设置
[
{
"key": "ctrl+s",
"command":"terminalCommandKeys.run",
"when": "editorLangId == php",
"args": {
"cmd":"php ${file}",
"newTerminal":true,
"saveAllfiles": true,
"showTerminal": true,
}
}
]
key是运行你的PHP文件的快捷方式(我用的是ctrl+s)你可以随便改
当到运行不同文件类型的不同命令(我只为PHP文件设置)vscode's "when" clauses
请参阅 here
中的完整设置文档
就这些了,希望对你有帮助。
XDebug 更改了一些配置设置。
旧设置:
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000
新设置:
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9000
因此您应该将后者粘贴到 php.ini 文件中。
更多信息:XDebug Changed Configuration Settings
我找不到在 Visual studio 代码上 运行 或调试 php 的方法,有人知道怎么做吗?
就我今天读到的内容而言,目前除了 node.js、JavaScript 和 TypeScript 之外,您无法调试任何其他内容,但他们说他们想要添加新的语言,您可以调试。编辑器仍在开发中。不过,我不认为将来会有 php 调试器,因为 php 是服务器端的,所以你不能单独在客户端调试它。
如果你想调试php,我可以推荐xDebug。
更新:
调试 PHP 与 VSCode 使用 vscode-php-debug 扩展
VSCode 现在可以通过市场扩展 vscode-php-debug.
支持调试 PHP 个项目此扩展在后台使用 XDebug,并允许您使用断点、监视、堆栈跟踪等:
从 VSCode 中直接安装:使用 F1 调用命令行,然后键入 ext install php-debug
从link开始,步骤是:
- 下载并安装Visual Studio代码
- 在用户设置中配置 PHP linting
- 从 Visual Studio 市场 下载并安装 PHP 调试扩展
- 为 XDebug 配置 PHP 调试扩展
请注意,linked 文章中有具体细节,包括 VS Code 用户配置的 PHP 值等。
如果您使用的是 Ubuntu 16.04 和 php7,您可以使用以下命令安装 xdebug:
sudo apt-get install php-xdebug
您可以找到完整的配置过程here。
如果您正在使用 windows,您可以从 xdebug.org 下载 xdebug。
并开始在带有 php-debug 扩展名的 VS-code 中进行调试。
他们已经足够帮助完整的答案,但如果您想查看过程,那么
[ click here ]
简述步骤
- 下载php调试插件[https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug]
- 下载xDebug.dll[https://xdebug.org/wizard.php]
- 将 xdebug 文件移动到 [ ?? /php/分机/这里]
使用以下行更新 php.ini 文件:
[XDebug] xdebug.remote_enable = 1 xdebug.remote_autostart = 1 zend_extension=path/to/xdebug
[干得漂亮]
- 确保您已重新启动本地服务器
值得注意的是,您必须在 Visual Studio 代码中打开项目文件夹,调试器才能工作。在编辑器中只打开单个文件时,我花了几个小时让它工作。
问题解释here
要使用 vscode 调试 php,您需要这些东西:
- vscode 安装了 php 调试插件 (XDebug);
- php XDebug.so/XDebug.dll 下载并配置;
- 一个网络服务器,例如apache/nginx或者什么都没有(使用php内置服务器)
您可以按照 vscode 官方 guide.It 的方式逐步完成步骤 1 和 2,完全推荐使用 XDebug installation wizard 来验证您的 XDebug 配置。
如果你想在没有独立 web 服务器的情况下进行调试,php 内置可能是 choice.Start 内置服务器通过 php -S localhost:port -t path/to/your/project
命令,将你的项目目录设置为文档root.You可以参考this post了解更多详情。
有一种更简单的方法 运行 PHP,无需配置:
- 安装 Code Runner Extension
- 在文本编辑器中打开 PHP 代码文件
- 使用快捷方式
Ctrl+Alt+N
- 或按
F1
然后select/typeRun Code
, - 或右键单击文本编辑器,然后单击编辑器上下文菜单中的
Run Code
- 或单击编辑器标题菜单中的
Run Code
按钮 - 或单击文件资源管理器上下文菜单中的
Run Code
按钮
- 使用快捷方式
此外,您可以 select 部分 PHP 代码和 运行 代码片段。很方便!
如果你不想安装 xDebug 或其他扩展,只想 运行 a PHP 文件而不调试,您可以使用构建任务完成此操作。
使用构建任务(不需要扩展)
首先打开命令面板(Ctrl+Shift+P in Windows、⌘+Shift+P 在 Mac) 和 select“任务:打开用户任务”。现在将我的配置复制到您的 tasks.json 文件中。这将创建可以在任何时间和任何工作空间中使用的用户级任务。
{
"version": "2.0.0",
"tasks": [
{
"label": "Start Server",
"type": "shell",
"command": "php -S localhost:8080 -t ${fileDirname}",
"isBackground": true,
"group": "build",
"problemMatcher": []
},
{
"label": "Run In Browser",
"type": "shell",
"command": "open http://localhost:8080/${fileBasename}",
"windows": {
"command": "explorer 'http://localhost:8080/${fileBasename}'"
},
"group": "build",
"problemMatcher": []
},
{
"label": "Run In Terminal",
"type": "shell",
"command": "php ${file}",
"group": "none",
"problemMatcher": []
}
]
}
如果你想 运行 你的 php 文件在终端中,打开命令选项板和 select“任务:运行 任务”,然后是“运行 在终端中。
如果您想 运行 将您的代码放在响应网络浏览器的网络服务器上,请打开命令选项板和 select“任务:运行 任务”,然后是“启动服务器”到 运行 PHP 的内置服务器,然后“运行 在浏览器中”到 运行 当前从浏览器打开的文件。
请注意,如果您已经有一个网络服务器 运行ning,您可以删除 Start Server
任务并更新 localhost:8080
部分以指向您所在的任何 URL使用。
使用PHP调试
注意:这部分是我原来的回答。我最初认为它可以在没有 PHP Debug 的情况下工作,但看起来 PHP Debug 实际上在启动配置中公开了 php
类型。没有理由在上述构建任务方法上使用它。我把它留在这里以防它有用。
将以下配置复制到您的用户设置中:
{
"launch": {
"version": "0.2.0",
"configurations": [
{
"type": "php",
"request": "launch",
"name": "Run using PHP executable",
"program": "${file}",
"runtimeExecutable": "/usr/bin/php"
}
]
}
// all your other user settings...
}
这会创建一个全局启动配置,您可以在任何 PHP 文件上使用它。注意 runtimeExecutable
选项。您需要使用计算机上 PHP 可执行文件的路径更新它。复制上面的配置后,只要打开 PHP 文件,就可以按 F5 键 运行 PHP 代码并将输出显示在 vscode终端。
对我来说最好的解决方案是直接在终端运行 PHP 代码中添加一个键绑定
为此,您只需从 VS 代码扩展市场下载 terminal-command-keys
:
然后进入文件>首选项>键盘快捷键并单击右上角的以下图标:
它将打开 keybindings.json
文件
添加以下设置
[
{
"key": "ctrl+s",
"command":"terminalCommandKeys.run",
"when": "editorLangId == php",
"args": {
"cmd":"php ${file}",
"newTerminal":true,
"saveAllfiles": true,
"showTerminal": true,
}
}
]
key是运行你的PHP文件的快捷方式(我用的是ctrl+s)你可以随便改
当到运行不同文件类型的不同命令(我只为PHP文件设置)vscode's "when" clauses
请参阅 here
中的完整设置文档就这些了,希望对你有帮助。
XDebug 更改了一些配置设置。
旧设置:
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000
新设置:
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9000
因此您应该将后者粘贴到 php.ini 文件中。 更多信息:XDebug Changed Configuration Settings