使用 PHP 网页调试配置进行调试
在此调试模式下,PhpStorm 完全控制调试过程:它启动应用程序、打开浏览器,并根据 PHP 网页调试配置激活调试引擎。
一个 PHP Web 页面调试配置会告知 PhpStorm 访问应用程序起始页面的 URL 地址、用于打开起始页面的浏览器,以及要使用的 调试服务器配置。
您还可以指定在调试期间希望 PhpStorm 忽略请求的脚本。 当您的应用程序包含使用 AJAX 的脚本时,此方法可能会很有用。 假设您有一个 menu-ajax-script.php ,它会“重新加载”您的网页的一部分。 此脚本运行正常,因此您无需调试它。 然而,在调试会话期间仍会请求此脚本。 要忽略对此脚本的传入连接,请将 menu-ajax-script.php 脚本添加到 跳过路径 列表中。
准备调试引擎
PhpStorm 支持使用两种最流行的工具进行调试: Xdebug 和 Zend Debugger。 这些工具不能同时使用,因为它们会相互阻碍。 为避免此问题,您需要按照 配置 Xdebug 和 配置 Zend Debugger 中的描述更新相关 PHP 解释器的 php.ini 文件。
在编辑器中打开活动的 php.ini 文件:
在 设置 对话框(Ctrl+Alt+S )中,单击 PHP。
在打开的 PHP 页面上,单击
,位于 CLI 解释器 字段旁边。
在打开的 CLI 解释器 对话框中, 配置文件 只读字段显示活动 php.ini 文件的路径。 点击 在编辑器中打开。
设置断点
断点 是在调试会话期间用于触发操作的源代码标记。 通常,设置断点的目的是暂停程序执行,以便您检查程序数据。 然而,PhpStorm 可以将断点用作触发各种不同操作的触发器。 断点可以在调试过程中的任何时间设置。 您的断点不会直接影响源文件,但断点及其设置会与您的 PhpStorm 项目一起保存,因此您可以在调试会话中重复使用它们。
将插入符号放置在源代码的所需行。
断点可以在 PHP 上下文中设置,位于 php 、 html 和其他类型的文件中。 行断点只能设置在可执行行上,不能设置在注释、声明或空行上。
请执行以下操作之一:
单击您希望切换断点的行的边距区域。
转到 。
按下 Ctrl+F8。
创建一种 PHP 网页类型的调试配置
通过以下任一方式打开 运行/调试配置对话框:
转到 。
按 Alt+Shift+F10 ,然后按 0 显示 编辑配置 对话框,或从弹出窗口中选择配置并按 F4。
请点击
工具栏上的图标或按下 Insert 键。 从列表中选择 PHP 网页 配置类型。 PHP 网页对话框打开。
指定配置名称。
从 服务器 列表中选择适用的调试服务器配置,或单击 浏览
。 并在 服务器 对话框中定义调试服务器配置,该对话框按照 创建 PHP 调试服务器配置 中的描述打开。
在 起始 URL 字段中,输入实现应用程序起始页面的文件的服务器路径。 指定相对于服务器配置根目录的路径(服务器配置根目录是通过服务器配置访问的 本地或 远程服务器上的文件树中最高的文件夹。 对于 in-place服务器,它是项目根目录。 )。 下面的只读字段显示了应用程序起始页面的 URL 地址。 URL 地址会在您输入时动态生成。
指定用于打开应用程序的浏览器。 从 浏览器 列表中选择已配置的浏览器,或单击 浏览
,并在 Web 浏览器和预览 对话框中 指定其他浏览器。
启动调试会话并检查挂起的程序
要开始调试,请单击工具栏上的 Debug 按钮
。
调试器在到达第一个断点时挂起后,分析 帧 以检查应用程序。 帧 对应于一个活动的方法或函数调用,并存储被调用方法或函数的局部变量、其参数以及支持表达式求值的代码上下文。 所有当前活动的帧显示在 帧 面板的 调试工具窗口 中,您可以在它们之间切换,并在 变量 和 监视 面板中分析存储的信息。 有关更多信息,请参阅 检查挂起的程序 部分。
继续运行程序,并在再次暂停时检查其帧。
要手动控制程序执行,请使用 运行 菜单或工具栏按钮下的命令逐步执行代码:   F7、   Shift+F8、   F8 等。 欲了解更多信息,请参阅 逐步执行程序。
要使程序自动运行到下一个断点,请选择 或按 F9 恢复会话。
指定要跳过请求的脚本
当您的应用程序包含使用 AJAX 的脚本时,此方法可能会很有用。 假设您有一个 menu-ajax-script.php ,它会“重新加载”您的网页的一部分。 此脚本运行正常,因此您无需调试它。 然而,在调试会话期间仍会请求此脚本。 要忽略对此脚本的传入连接,请将 menu-ajax-script.php 脚本添加到 跳过路径 列表中。
在 设置 对话框 (Ctrl+Alt+S) 中,前往 。
在打开的 跳过路径 页面上,配置一个“忽略列表”,其中包含脚本和脚本所在文件夹,如果 PhpStorm 收到对它们的传入连接,则不会调用它们。
要向列表中添加新条目,请单击
或按 Alt+Insert。 然后单击
,并在打开的对话框中选择要跳过连接的文件或文件夹。
要从列表中删除条目,请选择它并单击
或按 Alt+Delete。 现在,脚本将在收到对其的请求时执行。
要让 PhpStorm 在每次收到对要跳过的脚本的请求时通知您,请选中 通知关于跳过的路径 复选框。