PhpStorm 2021.3 Help

调试 PHP HTTP 请求

除了调试整个应用程序之外,您还可以调试单独的HTTP 请求。当您实际上对通过多个步骤访问的特定页面感兴趣时,这很有帮助,但是由于这个或那个原因,您不能将此页面指定为调试的起始页面,例如,因为您需要“来到”此页面包含某些数据。

要在 PhpStorm 中调试 PHP HTTP 请求,可以使用以下方法:

准备调试引擎

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

    在编辑器中打开活动的php.ini文件:

    1. 在“设置/首选项”对话框 ( Ctrl+Alt+S) 中,单击PHP

    2. 在打开的PHP页面上,单击CLI Interpreter字段浏览按钮旁边的。

    3. 在打开的CLI 解释器对话框中,配置文件只读字段显示活动php.ini文件的路径。单击在编辑器中打开

设置断点

断点是用于在调试会话期间触发操作的源代码标记。通常,设置断点的目的是暂停程序执行以允许您检查程序数据。但是,PhpStorm 可以使用断点作为各种不同操作的触发器。在调试过程中可以随时设置断点。您的断点不会直接影响您的源文件,但断点及其设置会与您的 PhpStorm 项目一起保存,因此您可以在调试会话中重复使用它们。

  1. 将插入符号放在源代码的所需行处。

    断点可以在phphtml和其他类型的文件中的 PHP 上下文中设置。行断点只能在可执行行上设置,而不能在注释、声明或空行上设置。

  2. 执行以下操作之一:

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

    • 从主菜单中,选择运行 | 切换行断点

    • Ctrl+F8

在代码编辑器中通过 HTTP 客户端调试请求

使用内置的HTTP 客户端,您可以直接从 PhpStorm 代码编辑器中编写、执行和调试 HTTP 请求。

  1. 打开现有的 HTTP 请求文件,或创建一个新文件:在文件菜单中,指向新建,然后单击HTTP 请求

  2. 为需要调试的查询编写 HTTP 请求。

  3. 将插入符号放置在请求处,然后在编辑器装订线中按Alt+Enter或单击运行按钮。从弹出菜单中,选择PHP Debug <host>

    HTTP 请求文件中的 PHP 调试意图操作

    如果您定义了环境,请选择PHP Debug with ...并在弹出菜单中选择环境。稍后执行或调试请求时,将使用选定的环境作为默认环境。

    在 HTTP 请求文件中使用环境的 PHP 调试意图操作

    PhpStorm 会自动将XDEBUG_SESSIONcookie 添加到请求中,执行它,并在指定的断点处停止。

当请求被执行时,PhpStorm 会自动为其创建一个专用的临时HTTP 请求运行/调试配置。如有必要,您可以将其保存为永久运行/调试配置。

创建 PHP HTTP 请求类型的调试配置

PhpStorm 将此配置中指定的设置包含在 PHP HTTP 请求中。请注意,在编辑器中使用 HTTP Client来调试 HTTP 请求是一种更方便且推荐的方法。

  1. 通过执行以下操作之一打开“运行/调试配置”对话框:

    • 从主菜单中,选择运行 | 编辑配置

    • Alt+Shift+F10,然后按0显示编辑配置对话框或从弹出窗口中选择配置并按F4

  2. 单击添加按钮工具栏上的 或按Insert。从列表中,选择PHP HTTP 请求配置类型。PHP HTTP 请求对话框打开。

  3. 指定配置名称。

  4. 服务器列表中,指定调试服务器配置以与执行应用程序的 Web 服务器进行交互。选择现有配置之一,或单击浏览并在打开的 服务器浏览按钮对话框中定义调试服务器配置,如创建 PHP 调试服务器配置中所述。

  5. URL字段中,完成host要调试的请求的元素。键入相对于调试服务器配置中指定的主机的路径。当您键入时,PhpStorm 会即时组合 URL 地址并将其显示在字段下方。

  6. 指定是否要将任何数据带到目标页面。从请求方法列表中,选择相关的请求类型:

    • 要在不带任何数据的情况下访问页面,请选择GET

    • 要访问保存在变量中的一些数据的页面,请选择POST并在请求正文字段中键入相关变量。

      默认情况下,如果未明确指定项目编码,则在请求的编码中使用项目编码,例如:

      header('内容类型: text/html;charset=utf-8');

      项目编码在设置/首选项对话框 ( )的文件编码页面上指定。Ctrl+Alt+S

  7. 查询字段中,输入请求的查询字符串。此字符串将在?之后附加到请求中。象征。

  8. 准备好后单击OK

启动调试会话并检查挂起的程序

  1. 要开始调试,请单击工具栏上的调试按钮调试按钮

  2. 一旦调试器在到达第一个断点时暂停,通过分析框架检查应用程序。框架对应于活动的方法或函数调用,并存储被调用方法或函数的局部变量、参数以及启用表达式评估的代码上下文。所有当前活动的框架都显示在Debug 工具窗口的F​​rames窗格中,您可以在其中切换它们并在VariablesWatches窗格中分析其中存储的信息。有关更多详细信息,请参阅检查暂停程序部分。

  3. 继续运行程序并在它再次挂起后立即检查它的帧。

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

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

最后修改:2021 年 8 月 27 日