零配置调试
在零配置调试的情况下,您不需要创建任何调试配置。相反,您在浏览器中手动打开 PHP 应用程序的起始页面,然后从浏览器激活调试引擎,而 PhpStorm 侦听传入的调试器连接。
启动调试会话
在开始调试之前,请确保已正确安装和配置调试引擎。PhpStorm 支持使用两种最流行的工具进行调试:Xdebug和Zend Debugger。这些工具不能同时使用,因为它们相互阻挡。为避免此问题,您需要更新php.ini文件中的相应部分,如配置 Xdebug和配置 Zend Debugger中所述。
要启动零配置调试会话,请执行以下常规步骤。
验证调试引擎安装
执行以下任一操作:
在命令行中,运行
php --version
命令。输出应列出已安装扩展中的调试引擎:创建一个包含函数调用的php文件。
phpinfo();
然后在浏览器中打开这个文件。phpinfo
输出应包含调试引擎的部分:
启用侦听传入调试连接
切换 PhpStorm 工具栏上的Start Listen PHP Debug Connections按钮,使其变为. 之后,PhpStorm 开始监听当前项目中使用的调试引擎的端口。调试端口设置在PHP |上的 PhpStorm 级别。设置/首选项对话框 ( Ctrl+Alt+S) 的调试页面。
在代码中设置断点
通过执行以下任一操作在代码中设置断点:
单击要切换断点的行的左侧装订线区域。
在主菜单上,选择
。按Ctrl+F8。
或者,选择
以便在与 PhpStorm 建立连接后立即停止调试器(而不是在到达第一个断点之前自动运行)。
在服务器上激活调试器
要启用从浏览器启动和停止调试引擎,您需要设置一个特殊的
GET
/POST
或COOKIE
参数。您可以在php.ini配置文件中手动执行此操作,或使用可用的浏览器调试扩展之一。如果您使用的浏览器没有可用的扩展,您可以生成Start Debugger / Stop Debugger小书签并将它们添加到浏览器的工具栏中。在浏览器中激活调试扩展:
有关手动设置参数的更多详细信息,请参阅为Xdebug启动调试器和Zend Debugger为Zend Debugger 获取请求参数。
启动调试会话
在浏览器中重新加载页面并返回到 PhpStorm。在Incoming Connection From <Debugging Engine>对话框中,选择路径映射,以便 PhpStorm 可以将 Web 服务器上的远程文件映射到项目中的本地文件。如果您定义了部署配置,PhpStorm 将根据您在该配置中设置的路径提供配置映射。
到达断点后,调试器暂停。您现在可以调查该应用程序。
继续运行程序并在它再次挂起后立即检查它的帧。
要手动控制程序执行,请使用Run菜单或工具栏按钮下的命令逐步执行代码: F7、 Shift+F8、 F8等。有关更多详细信息,请参阅逐步执行程序。
要让程序自动运行到下一个断点,请通过选择
或按F9。
指定要跳过请求的脚本
您还可以指定您希望 PhpStorm 在调试期间忽略的脚本请求。当您的应用程序包含使用 AJAX 的脚本时,此方法可能很有用。假设您有一个 menu-ajax-script.php 可以“重新加载”您的网页的一部分。该脚本可以正常工作,因此您无需对其进行调试。但是,在调试会话期间仍会请求此脚本。要忽略此脚本的传入连接,请将menu-ajax-script.php脚本添加到跳过的路径列表中。
在设置/首选项对话框 ( Ctrl+Alt+S) 中,转到 。
在打开的Skipped Paths页面上,配置脚本和文件夹的“忽略列表”,如果 PhpStorm 接收到传入连接,则不会调用脚本。
要向列表中添加新条目,请单击或按Alt+Insert。然后单击并在打开的对话框中选择要跳过连接的文件或文件夹。
要从列表中删除条目,请选择它并单击或按Alt+Delete。该脚本现在将在收到对它的请求时执行。
要让 PhpStorm 在每次收到要跳过的脚本的请求时通知您,请选中通知跳过的路径复选框。