如何在Visual Studio代码(VSCode)上运行或调试php
我找不到在Visual studio代码上运行或调试php的方法,有人知道吗?就我今天读到的内容而言,目前除了node.js、JavaScript和TypeScript之外,您无法调试任何东西,但他们说他们想添加新的语言,您可以进行调试。该编辑器仍在开发中。尽管如此,我认为将来不会有php调试器,因为php是服务器端的,所以不能单独在客户机上进行调试 如果你想调试php,我可以推荐如何在Visual Studio代码(VSCode)上运行或调试php,php,debugging,visual-studio-code,Php,Debugging,Visual Studio Code,我找不到在Visual studio代码上运行或调试php的方法,有人知道吗?就我今天读到的内容而言,目前除了node.js、JavaScript和TypeScript之外,您无法调试任何东西,但他们说他们想添加新的语言,您可以进行调试。该编辑器仍在开发中。尽管如此,我认为将来不会有php调试器,因为php是服务器端的,所以不能单独在客户机上进行调试 如果你想调试php,我可以推荐 更新: 现在,可以使用VS代码进行调试。您需要安装VScode并对其进行扩展。使用扩展使用VScode调试PHP
更新: 现在,可以使用VS代码进行调试。您需要安装VScode并对其进行扩展。使用扩展使用VScode调试PHP VSCode现在可以支持通过marketplace扩展调试PHP项目 此扩展在后台使用XDebug,并允许您使用断点、监视、堆栈跟踪等:
从VSCode中进行安装非常简单:使用F1调用命令行,然后键入
ext install php debug
现在有一个在Visual Studio代码中配置php调试的简便指南
从链接中,步骤如下:
请注意,链接文章中有一些特定的细节,包括VS代码用户配置的PHP值等等。如果您使用的是Ubuntu 16.04和php7,则可以使用以下命令安装xdebug:
sudo apt-get install php-xdebug
您可以找到完整的配置过程
如果您使用的是windows,则可以从下载xdebug
并使用扩展名在VS代码中开始调试
他们的帮助已经足够完整的答案了,但是如果您想查看流程,那么
简短的步骤
- 下载php调试插件[]
- 下载xDebug.dll[]
- 将xdebug文件移动到[??/php/ext/here]
- 使用以下行更新php.ini文件:
[XDebug] xdebug.remote_enable=1 xdebug.remote_autostart=1 zend_extension=path/to/xdebug
来源:值得注意的是,必须在Visual Studio代码中打开项目文件夹,调试器才能工作。在编辑器中只打开单个文件的情况下,我花了几个小时使其工作
问题说明要使用vscode调试php,您需要以下内容:
如果您想在没有独立web服务器的情况下进行调试,php内置服务器可能是一种选择。通过
php-S localhost:port-t path/to/your/project
命令启动内置服务器,将项目目录设置为文档根目录。您可以参考以了解更多详细信息。有一种更简单的方法来运行php,无需配置:
- 使用快捷键
Ctrl+Alt+N
- 或按F1,然后选择/type
运行代码
- 或者右键单击文本编辑器,然后在编辑器上下文菜单中单击运行代码
- 或者单击编辑器标题菜单中的运行代码按钮
- 或者单击文件资源管理器上下文菜单中的运行代码按钮
此外,您可以选择部分PHP代码并运行代码段。非常方便 如果您不想安装xDebug或其他扩展,只想在不调试的情况下运行PHP文件,那么可以使用构建任务来完成 使用构建任务 首先打开命令选项板(Windows中的Ctrl+Shift+p,⌘+在Mac中按住Shift+P键),然后选择“任务:打开用户任务”。现在将下面的配置复制到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文件,请打开命令调色板并选择“任务:运行任务”,然后选择“在终端中运行”
如果要在响应web浏览器的web服务器上运行代码,请打开命令选项板,选择“任务:运行任务”,然后选择“启动服务器”以运行PHP的内置服务器,然后选择“在浏览器中运行”以从浏览器运行当前打开的文件
请注意,如果您已经有一个Web服务器在运行,您可以删除Start Server
任务,并更新localhost:8080
部分以指向您正在使用的任何URL
使用PHP调试
注:这一部分是我的原始答案。我最初认为它可以在没有PHP调试的情况下工作,但看起来PHP调试实际上公开了启动配置中的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...
}
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文件上使用它。注意
runtimeExecutable
选项。您需要使用机器上PHP可执行文件的路径更新此文件。复制上述配置后,只要打开PHP文件,就可以按F5键运行PHP代码,并在vscode终端中显示输出。对我来说,最好的解决方案是添加一个键绑定,直接在终端中运行PHP代码
为此,您只需从VS code extensions marketplace下载终端命令键
:
Th
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9000