我找不到在Visual Studio代码上运行或调试php的方法,有谁知道怎么做?
答案 0 :(得分:45)
VSCode现在可以通过市场扩展vscode-php-debug支持调试PHP项目。
此扩展程序在后台使用XDebug,允许您使用断点,监视,堆栈跟踪等:
在VSCode中安装非常简单:用F1召唤命令行,然后输入ext install php-debug
答案 1 :(得分:15)
就我今天所读到的,你现在无法调试除node.js,JavaScript和TypeScript之外的任何东西,但是他们说他们想要添加你可以调试的新语言。编辑仍在开发中。不过,我不认为将来会有一个php调试器因为php是服务器端,所以你不能单独在你的客户端调试它。
如果你想调试php,我可以推荐xDebug。
答案 2 :(得分:15)
现在有一个方便的指南,用于在http://blogs.msdn.com/b/nicktrog/archive/2016/02/11/configuring-visual-studio-code-for-php-development.aspx
的Visual Studio代码中配置PHP调试从链接中,步骤如下:
请注意链接文章中有特定的详细信息,包括VS Code用户配置的PHP值,等等。
答案 3 :(得分:4)
实际上可以在没有xDebug的情况下运行 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...
}
这将创建一个可在任何PHP文件上使用的全局启动配置。请注意runtimeExecutable
选项。您需要使用计算机上PHP可执行文件的路径更新它。复制上面的配置后,无论何时打开PHP文件,都可以按F5键运行PHP代码并将输出显示在vscode终端中。
另一方面,如果您想通过浏览器访问网络服务器来运行PHP,则需要通过创建build task进行设置。要创建任务,您需要处理工作区文件夹。打开工作区文件夹后,转到Tasks > Configure Tasks...
,然后按Enter键,然后选择"其他"选项。这样做会在工作区文件夹中创建tasks.json文件。
现在将我的配置复制到您的tasks.json文件中:
{
"version": "2.0.0",
"tasks": [
{
"label": "Start Server",
"type": "shell",
"command": "php -S localhost:8080 -t ${workspaceFolder}",
"isBackground": true,
"group": "build",
"problemMatcher": []
},
{
"label": "Run In Browser",
"type": "shell",
"command": "open http://localhost:8080/${relativeFile}",
"windows": {
"command": "explorer 'http://localhost:8080/${relativeFile}'"
},
"group": "build",
"problemMatcher": []
}
]
}
现在,如果您的工作区中有一个PHP文件打开,您可以按Ctrl + Shift + B(在MacOS中⌘+ Shift + B),并且上述两个任务应该显示出来。选择Start Server
以运行PHP的内置服务器,然后选择Run In Browser
以从浏览器运行当前打开的文件(这假设您的工作区根目录也是您的文档根目录)。请注意,如果您已经运行了网络服务器,则可以删除Start Server
任务并更新localhost:8080
部分以指向您正在使用的网址。
答案 4 :(得分:3)
值得注意的是,必须在Visual Studio Code中打开项目文件夹才能使调试器正常工作。在编辑器中只打开了单独的文件时,我失去了几个小时才能使它工作。
问题解释here
答案 5 :(得分:1)
如果您使用的是Ubuntu 16.04和php7,可以使用以下命令安装xdebug:
sudo apt-get install php-xdebug
您可以找到完整的配置流程here。
如果您使用的是Windows,可以从xdebug.org下载xdebug。
然后使用php-debug扩展名在VS代码中开始调试。
答案 6 :(得分:1)
他们已经足够帮助完整的答案,但如果你想看到这个过程,那么 [ click here ]
简短步骤
使用以下行更新php.ini文件:
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension=path/to/xdebug
[很高兴]
答案 7 :(得分:1)
要使用vscode调试php,您需要以下内容:
您可以按照vscode官方指南轻轻浏览步骤1和2.完全建议使用XDebug installation wizard来验证您的XDebug配置。
如果您想在没有独立Web服务器的情况下进行调试,可以选择php内置。通过php -S localhost:port -t path/to/your/project
命令启动内置服务器,将项目目录设置为文档根目录。您可以参考{ {3}}了解更多详情。
答案 8 :(得分:1)
运行PHP有一种更简单的方法,无需配置:
Ctrl+Alt+N
F1
,然后选择/输入Run Code
,Run Code
Run Code
按钮Run Code
按钮
此外,您可以选择部分PHP代码并运行代码段。很方便!
答案 9 :(得分:0)
对我来说最好的解决方案是添加一个按键绑定,以直接在终端中运行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,
}
}
]
键是运行PHP文件的快捷方式(我使用ctrl + s),您可以根据需要进行更改
何时为不同的文件类型运行不同的命令(我仅将其设置为PHP文件)vscode's "when" clauses
请参阅here
中的完整设置文档就是这样,希望对您有所帮助。
答案 10 :(得分:0)
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