如何在Visual Studio代码(VSCode)上运行或调试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

我找不到在Visual studio代码上运行或调试php的方法,有人知道吗?

就我今天读到的内容而言,目前除了node.js、JavaScript和TypeScript之外,您无法调试任何东西,但他们说他们想添加新的语言,您可以进行调试。该编辑器仍在开发中。尽管如此,我认为将来不会有php调试器,因为php是服务器端的,所以不能单独在客户机上进行调试

如果你想调试php,我可以推荐


更新: 现在,可以使用VS代码进行调试。您需要安装VScode并对其进行扩展。

使用扩展使用VScode调试PHP VSCode现在可以支持通过marketplace扩展调试PHP项目

此扩展在后台使用XDebug,并允许您使用断点、监视、堆栈跟踪等:


从VSCode中进行安装非常简单:使用F1调用命令行,然后键入
ext install php debug

现在有一个在Visual Studio代码中配置php调试的简便指南

从链接中,步骤如下:

  • 下载并安装Visual Studio代码
  • 在用户设置中配置PHP linting
  • 从VisualStudioMarketplace下载并安装PHP调试扩展
  • 为XDebug配置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,您需要以下内容:

  • 安装了php调试插件(XDebug)的vscode
  • 下载并配置了XDebug.so/XDebug.dll的php
  • web服务器,如apache/nginx或nothing(使用php内置服务器)
  • 通过遵循vscode官方指南,您可以轻松地完成步骤1和步骤2。完全建议您使用它来验证XDebug配置


    如果您想在没有独立web服务器的情况下进行调试,php内置服务器可能是一种选择。通过
    php-S localhost:port-t path/to/your/project
    命令启动内置服务器,将项目目录设置为文档根目录。您可以参考以了解更多详细信息。

    有一种更简单的方法来运行php,无需配置:

  • 安装
  • 在文本编辑器中打开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