IntelliJ IDEA:零配置调试
零配置调试
此功能仅在Ultimate版本中受支持。
以下内容仅在安装并启用PHP插件时有效!
在此调试模式下,IntelliJ IDEA完全控制调试过程:它启动应用程序,打开浏览器,并根据PHP Web页面调试配置激活调试引擎。
启动调试会话
在开始调试之前,请确保已正确安装和配置调试引擎。IntelliJ IDEA支持使用两种最流行的工具进行调试: Xdebug和Zend Debugger。这些工具不能同时使用,因为它们相互排斥。要避免此问题,您需要更新php.ini文件中的相应部分,如配置Xdebug和配置Zend调试器中所述。
- 在“设置/首选项”对话框(Ctrl+Alt+S)中,单击“语言和框架”下的“PHP”。
- 在打开的PHP页面上,单击“CLI解释器”字段旁边的。
- 在打开的“CLI解释器”对话框中,“配置文件”只读字段显示活动php.ini文件的路径。单击“在编辑器中打开”。
要启动零配置调试会话,请执行以下常规步骤。
验证调试引擎安装
请执行以下任何操作:
- 在命令行中,运行该php --version命令。输出应列出已安装扩展中的调试引擎:
Xdebug:
- 创建一个包含phpinfo();函数调用的php文件。然后在浏览器中打开此文件。该phpinfo输出应该包含您的调试引擎的部分:
Xdebug:
您还可以在IntelliJ IDEA中验证调试引擎的配置,以确保提供的配置参数正确。
启用监听传入调试连接
-
切换IntelliJ IDEA工具栏上的“开始监听PHP调试连接”按钮 ,使其更改为 。之后,IntelliJ IDEA开始监听当前项目中使用的调试引擎的端口。调试端口在“设置/首选项”对话框(Ctrl+Alt+S)的“语言和框架|PHP|调试”的IntelliJ IDEA级别中设置。
在代码中设置断点
-
通过执行以下任一操作在代码中设置断点:
-
在要切换断点的行上单击左侧装订线区域。
-
在主菜单上,选择:运行|切换行断点。
-
按下Ctrl+F8。
或者,选择:运行|在PHP脚本的第一行中断,以便在建立与IntelliJ IDEA的连接后立即停止调试器(而不是在达到第一个断点之前自动运行)。
-
在服务器上激活调试器
-
要从浏览器启用和停止调试引擎,您需要设置一个特殊的
GET
/POST
或COOKIE
参数。您可以在php.ini配置文件中手动执行此操作,也可以使用可用的浏览器调试扩展之一。如果您使用的浏览器的扩展不可用,您可以生成的“启动调试器/停止调试器”书签,并将它们添加到浏览器的工具栏。在浏览器中激活调试扩展:
启动调试会话
-
在浏览器中重新加载页面并返回到IntelliJ IDEA。在“从<调试引擎>传入连接”对话框中,选择路径映射,以便IntelliJ IDEA可以将Web服务器上的远程文件映射到项目中的本地文件。如果您定义了部署配置,则IntelliJ IDEA将根据您在该配置中设置的路径配置映射。
-
到达断点后,调试器将被暂停。您现在可以调查该应用程序。
-
继续运行程序并在其再次暂停时检查其框架。
-
要手动控制程序执行,请使用“运行”菜单下的命令或工具栏按钮:Step Into(F7),Step Out(Shift+F8),Step Over(F8)等来逐步执行代码。
-
要使程序自动运行到下一个断点,请通过选择:运行|恢复程序,或按下F9来恢复会话。
指定要跳过请求的脚本
您还可以指定希望IntelliJ IDEA在调试期间忽略的脚本请求。当您的应用程序包含使用AJAX的脚本时,此方法很有用。假设你有一个menu-ajax-script.php,它“重新加载”你网页的一部分。此脚本正常工作,因此您无需进行调试。但是,在调试会话期间仍会请求此脚本。要忽略与此脚本的传入连接,请将menu-ajax-script.php脚本添加到跳过的路径列表中。
- 在“设置/首选项”对话框(Ctrl+Alt+S)中,导航到:语言和框架|PHP,并单击“调试”下的“跳过路径”。
- 在打开的“跳过路径”页面上,配置脚本和文件夹的“忽略列表”,如果IntelliJ IDEA接收到传入连接,则不会调用脚本。
- 要向列表中添加新条目,请单击“添加( )”按钮或按下Alt+Insert。然后单击“浏览( )”并在打开的对话框中选择要跳过连接的文件或文件夹。
- 要从列表中删除条目,请选择该条目并单击“删除( )”按钮或按下Alt+Delete。该脚本现在将在收到请求后执行。
- 要让IntelliJ IDEA在每次收到要跳过的脚本的请求时通知您,请选中“通知跳过的路径”复选框。