我找不到在 Visual Studio 代码上运行或调试 php 的方法,有人知道怎么做吗?
11 回答
使用vscode-php-debug扩展使用 VSCode 调试 PHP
VSCode 现在可以通过市场扩展vscode-php-debug支持调试 PHP 项目。
此扩展在后台使用 XDebug,并允许您使用断点、监视、堆栈跟踪等:
在 VSCode 中安装很简单:使用 F1 调用命令行,然后键入ext install php-debug
现在有一个在 Visual Studio Code 中配置 PHP 调试的便捷指南,位于http://blogs.msdn.com/b/nicktrog/archive/2016/02/11/configuring-visual-studio-code-for-php-development .aspx
从链接,步骤是:
- 下载并安装 Visual Studio 代码
- 在用户设置中配置 PHP linting
- 从 Visual Studio Marketplace 下载并安装 PHP 调试扩展
- 为 XDebug 配置 PHP 调试扩展
请注意,链接文章中有特定的详细信息,包括 VS Code 用户配置的 PHP 值等。
如果您不想安装 xDebug 或其他扩展并且只想运行 PHP 文件而不进行调试,您可以使用构建任务来完成此操作。
使用构建任务
首先打开命令面板(在 Windows 中是++ Ctrl,ShiftP⌘</kbd>+Shift+P in Mac), and select "Tasks:Open User Tasks". Now copy my configuration below into your tasks.json file. This creates user-level tasks which can be used any time and in any workspace.
{
"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 文件,请打开命令面板并选择“任务:运行任务”,然后选择“在终端中运行”。
如果您想在响应网络浏览器的网络服务器上运行代码,请打开命令面板并选择“任务:运行任务”,然后选择“启动服务器”以运行 PHP 的内置服务器,然后选择“在浏览器中运行” " 从浏览器运行当前打开的文件。
请注意,如果您已经有一个网络服务器正在运行,您可以删除该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,无需配置:
- 安装代码运行器扩展
- 在文本编辑器中打开 PHP 代码文件
- 使用快捷方式
Ctrl+Alt+N
- 或按
F1
然后选择/键入Run Code
, - 或右键单击文本编辑器,然后单击
Run Code
编辑器上下文菜单 - 或单击
Run Code
编辑器标题菜单中的按钮 - 或单击
Run Code
文件资源管理器上下文菜单中的按钮
- 使用快捷方式
此外,您可以选择部分 PHP 代码并运行代码片段。很方便!
他们已经足够帮助完整的答案,但是如果您想查看该过程,那么
[单击此处]
简短的步骤
- 下载 php 调试插件 [ https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug ]
- 下载 xDebug.dll [ https://xdebug.org/wizard.php ]
- 将 xdebug 文件移动到 [ ?? /php/ext/这里]
使用以下行更新 php.ini 文件:
[XDebug] xdebug.remote_enable = 1 xdebug.remote_autostart = 1 zend_extension=path/to/xdebug
[好走]
- 确保您已重新启动本地服务器
值得注意的是,您必须在 Visual Studio Code 中打开项目文件夹才能使调试器工作。在编辑器中只打开了单个文件时,我花了几个小时让它工作。
问题在这里解释
如果您使用的是 Ubuntu 16.04 和 php7,您可以使用以下命令安装 xdebug:
sudo apt-get install php-xdebug
您可以在此处找到完整的配置过程。
如果您使用的是 Windows,您可以从xdebug.org下载 xdebug 。
并使用php-debug扩展在 VS-code 中开始调试。
要使用 vscode 调试 php,你需要这些东西:
- 安装了 php 调试插件(XDebug)的 vscode;
- 下载并配置 XDebug.so/XDebug.dll 的 php 文件;
- 一个 web 服务器,比如 apache/nginx 或者什么都没有(使用 php 内置服务器)
您可以按照 vscode 官方指南轻轻地完成第 1 步和第 2 步。强烈建议使用XDebug 安装向导来验证您的 XDebug 配置。
如果您想在没有独立 Web 服务器的情况下进行调试,则可以选择内置的 php。通过命令启动内置服务器php -S localhost:port -t path/to/your/project
,将项目目录设置为文档根目录。您可以参考这篇文章了解更多详细信息。
对我来说最好的解决方案是添加一个键绑定以直接在终端中运行 PHP 代码
为此,您只需terminal-command-keys
从 VS 代码扩展市场下载:
然后到File>Preferences>Keyboard Shortcuts并单击右上角的以下图标:
它会打开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 的“when”子句
从这里查看完整的设置文档
就是这样,我希望它有所帮助。
XDebug changed some configuration settings.
Old settings:
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000
New settings:
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9000
So you should paste the latter in php.ini file. More info: XDebug Changed Configuration Settings