阅读(743) (11)

IntelliJ IDEA:使用PHP Web页面调试配置进行调试

2019-03-22 11:22:30 更新

使用PHP Web页面调试配置进行调试

此功能仅在Ultimate版本中受支持。
以下内容仅在安装并启用PHP插件时有效!

在此调试模式下,IntelliJ IDEA完全控制调试过程:它启动应用程序,打开浏览器,并根据PHP Web页面调试配置激活调试引擎。

一个PHP Web页调试配置告诉IntelliJ IDEA访问应用程序起始页的URL地址,要用于打开起始页的浏览器和要使用的调试服务器配置。

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

准备调试引擎

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

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

  1. 在“设置/首选项”对话框(Ctrl+Alt+S)中,单击“语言和框架”下的“PHP”。
  2. 在打开的PHP页面上,单击“CLI解释器”字段旁边的 browseButton
  3. 在打开的“CLI解释器”对话框中,“配置文件”只读字段显示活动php.ini文件的路径。单击“在编辑器中打开”。

设置断点

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

  1. 将插入符号放在源代码的所需行上。
    断点可以在php,html和其他类型的文件中的PHP上下文中设置。行断点只能在可执行行上设置,而不能在注释,声明或空行上设置。
  2. 执行以下操作之一:
    • 在要切换断点的行上单击左侧装订线区域。
    • 在主菜单上,选择:运行|切换行断点。
    • 按下Ctrl+F8。

创建PHP Web页面类型的调试配置

  1. 通过执行以下操作之一来打开“运行/调试配置”对话框:
    • 在主菜单上,选择:运行|编辑配置。
    • 按下Shift+Alt+F10,然后按0显示“编辑配置”对话框或从弹出窗口中选择配置并按下F4。
  2. 单击工具栏上的 图标一般添加svg或按下Insert。从下拉列表中,选择PHP Web页面配置类型。将打开“PHP Web页面”对话框。
  3. 指定配置名称。
  4. 从“服务器”下拉列表中选择适用的调试服务器配置,或单击“浏览( browseButton.png)”。并在“服务器”对话框中定义调试服务器配置,该对话框将按照创建PHP调试服务器配置中的说明打开。
  5. 在“启用URL”文本框中,键入实现应用程序起始页的文件的服务器路径。指定相对于服务器配置根目录的路径(服务器配置根目录是可通过服务器配置访问的本地或远程服务器上文件树中的最高文件夹。对于就地服务器,它是项目根目录。)。下面的只读字段显示了应用程序起始页面的URL地址。URL地址在您键入时动态组合。
  6. 指定要在其中打开应用程序的浏览器。从“浏览器”下拉列表中选择已配置的浏览器, 或单击“浏览( browseButton)”并在打开的“Web浏览器”对话框中指定其他浏览器。

启动调试会话并检查已暂停的程序

  1. 要开始调试,请单击工具栏上的“调试( 图标动作startDebugger svg)”按钮。
  2. 一旦调试器在到达第一个断点时暂停,请通过分析帧来检查应用程序。框架对应于一个激活的方法或函数调用,并且存储被调用的方法或函数的局部变量,参数,以及启用表达式求值的代码上下文。所有当前活动的框架都显示在“调试”工具窗口的“框架”窗格中,您可以在其中切换它们并在“变量和监视”窗格中分析存储在其中的信息。
  3. 继续运行该程序并在其再次暂停时检查其框架。
    • 要手动控制程序执行,请使用“运行”菜单或工具栏按钮下的命令逐步执行代码: Step Into(F7),Step Out(Shift+F8), Step Over(F8)等。
    • 要使程序自动运行到下一个断点,要恢复会话请选择:运行|恢复程序,或按下F9。

指定要跳过请求的脚本

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

  1. 在“设置/首选项”对话框(Ctrl+Alt+S)中,导航到:语言和框架|PHP,并单击“调试”下的“跳过路径”。
  2. 在打开的“跳过路径”页面上,配置脚本和文件夹的“忽略列表”,如果IntelliJ IDEA接收到传入连接,则不会调用具有脚本的文件夹。
    • 要向列表中添加新条目,请单击“添加( 图标一般添加svg)”按钮或按下Alt+Insert。然后单击“浏览( browseButton)” 并在打开的对话框中选择要跳过连接的文件或文件夹。
    • 要从列表中删除条目,请选择该条目并单击“删除( 图标一般删除svg)”按钮或按下Alt+Delete。该脚本现在将在收到请求后执行。
  3. 要让IntelliJ IDEA在每次收到要跳过的脚本的请求时通知您,请选中“通知跳过的路径”复选框。