PhpStorm 2021.3 Help

零配置调试

零配置调试的情况下,您不需要创建任何调试配置。相反,您在浏览器中手动打开 PHP 应用程序的起始页面,然后从浏览器激活调试引擎,而 PhpStorm 侦听传入的调试器连接。

启动调试会话

在开始调试之前,请确保已正确安装和配置调试引擎。PhpStorm 支持使用两种最流行的工具进行调试:XdebugZend Debugger。这些工具不能同时使用,因为它们相互阻挡。为避免此问题,您需要更新php.ini文件中的相应部分,如配置 Xdebug配置 Zend Debugger中所述。

要启动零配置调试会话,请执行以下常规步骤。

验证调试引擎安装

  • 执行以下任一操作:

    • 在命令行中,运行php --version命令。输出应列出已安装扩展中的调试引擎:

      安装了 Xdebug 扩展
      已安装 Zend 调试器扩展
    • 创建一个包含函数调用的php文件。phpinfo();然后在浏览器中打开这个文件。phpinfo输出应包含调试引擎的部分:

      已安装调试引擎
      已安装调试引擎

启用侦听传入调试连接

  • 切换 PhpStorm 工具栏上的Start Listen PHP Debug Connections按钮开始监听 php 调试连接,使其变为停止监听 php 调试连接. 之后,PhpStorm 开始监听当前项目中使用的调试引擎的端口。调试端口设置在PHP |上的 PhpStorm 级别。设置/首选项对话框 ( Ctrl+Alt+S) 的调试页面。开始监听调试连接

在代码中设置断点

  • 通过执行以下任一操作在代码中设置断点:

    • 单击要切换断点的行的左侧装订线区域。

    • 在主菜单上,选择运行 | 切换行断点

    • Ctrl+F8

    设置断点

    或者,选择运行 | 在 PHP 脚本的第一行中断,以便在与 PhpStorm 建立连接后立即停止调试器(而不是在到达第一个断点之前自动运行)。

在服务器上激活调试器

  • 要启用从浏览器启动和停止调试引擎,您需要设置一个特殊的GET/POSTCOOKIE参数。您可以在php.ini配置文件中手动执行此操作,或使用可用的浏览器调试扩展之一。如果您使用的浏览器没有可用的扩展,您可以生成Start Debugger / Stop Debugger小书签并将它们添加到浏览器的工具栏中。

    在浏览器中激活调试扩展:

    Chrome 中的 Xdebug 助手

    有关手动设置参数的更多详细信息,请参阅为Xdebug启动调试器和Zend Debugger为Zend Debugger 获取请求参数

启动调试会话

  1. 在浏览器中重新加载页面并返回到 PhpStorm。在Incoming Connection From <Debugging Engine>对话框中,选择路径映射,以便 PhpStorm 可以将 Web 服务器上的远程文件映射到项目中的本地文件。如果您定义了部署配置,PhpStorm 将根据您在该配置中设置的路径提供配置映射。

    传入调试器连接 Xdebug
  2. 到达断点后,调试器暂停。您现在可以调查该应用程序。

    应用程序在断点处停止
  3. 继续运行程序并在它再次挂起后立即检查它的帧。

    • 要手动控制程序执行,请使用Run菜单或工具栏按钮下的命令逐步执行代码:Step Into F7Step Out Shift+F8Step Over F8等。有关更多详细信息,请参阅逐步执行程序

    • 要让程序自动运行到下一个断点,请通过选择Run |恢复会话。调试操作 | 恢复程序或按F9

指定要跳过请求的脚本

您还可以指定您希望 PhpStorm 在调试期间忽略的脚本请求。当您的应用程序包含使用 AJAX 的脚本时,此方法可能很有用。假设您有一个 menu-ajax-script.php 可以“重新加载”您的网页的一部分。该脚本可以正常工作,因此您无需对其进行调试。但是,在调试会话期间仍会请求此脚本。要忽略此脚本的传入连接,请将menu-ajax-script.php脚本添加到跳过的路径列表中。

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,转到PHP | 调试 | 跳过的路径

  2. 在打开的Skipped Paths页面上,配置脚本和文件夹的“忽略列表”,如果 PhpStorm 接收到传入连接,则不会调用脚本。

    • 要向列表中添加新条目,请单击添加按钮或按Alt+Insert。然后单击浏览按钮并在打开的对话框中选择要跳过连接的文件或文件夹。

    • 要从列表中删除条目,请选择它并单击删除按钮或按Alt+Delete。该脚本现在将在收到对它的请求时执行。

  3. 要让 PhpStorm 在每次收到要跳过的脚本的请求时通知您,请选中通知跳过的路径复选框。

最后修改:2021 年 8 月 27 日