使用 Zend 调试器进行性能分析
除了 交互式调试 ,PhpStorm 与 Zend 调试器的集成还支持性能分析。 PhpStorm 提供由 Zend 调试器生成的性能分析数据的可视化表示。
在使用 Zend 调试器进行性能分析之前,请下载、安装并配置 PHP 开发环境的组件。 通常,这些组件包括 PHP 引擎、Web 服务器和 Zend 调试器工具。
启用 Zend 调试器的性能分析
配置 Zend Debugger
下载并安装 Zend 调试器工具。
配置从浏览器切换性能分析器的方式
要指定 GET/POST 或 COOKIE 参数:
手动指定值。
分析 Zend 调试器的性能分析数据
当 启用 Zend 调试器性能分析器的集成时,PhpStorm 提供性能分析快照的可视化表示。 PhpStorm 在单独的编辑器选项卡中打开四种视图,根据不同的标准呈现数据。
使用 Zend 调试器时,性能分析支持 零配置调试会话。
启动零配置 Zend 调试器会话
生成书签脚本以切换调试器。 这些书签脚本将出现在浏览器的工具栏上。 它们提供对调试器 Cookie 的控制,您可以通过它们激活和停用调试器。
通过以下操作之一,根据浏览器类型在浏览器中启用 书签工具栏:
在 Firefox中,选择 。
在 Chrome中,选择 。
打开 Xdebug 和 Zend 调试器书签脚本生成器页面,检查调试引擎设置并单击 生成。 生成与列出的调试相关操作对应的书签。
将生成的链接拖动到浏览器中的书签工具栏。
切换 PhpStorm 工具栏或状态栏上的 开始监听 PHP 调试连接 按钮
,使其更改为
。 之后,PhpStorm 开始监听当前项目中使用的调试引擎的端口。 调试端口在 PhpStorm 的 PHP | Debug 页面上的 设置 对话框(Ctrl+Alt+S )中设置。
在浏览器中打开应用程序的起始页面,选择 启动调试器 书签以从浏览器激活调试引擎,重新加载当前页面(应用程序的起始页面),然后返回到 PhpStorm。
建立 零配置调试会话可能会失败,未命中断点,因此脚本未挂起。 这可能是由于 路径映射未配置或配置错误 ,或者您未设置任何断点。 在后一种情况下,您可以执行以下任一操作:
通过单击代码中所需可执行行的边距设置断点。 有关更多信息,请参见 断点。
在 设置 对话框(Ctrl+Alt+S )中,转到 ,并在 外部连接 区域中选中 在 PHP 脚本的第一行暂停执行 复选框。
从主菜单启用 选项。
要让 PhpStorm 显示通知以提示脚本未挂起,请在 高级设置 区域的 页面上的 设置 对话框中选中 如果调试会话未暂停就结束则通知 复选框。
在打开的对话框中,选择要分析的传入连接并单击 接受。 来自 Zend Debugger 的传入连接 对话框仅在您首次接受来自此主机的连接时出现一次。
PhpStorm 在单独的编辑器选项卡中以所选性能分析器输出文件的名称呈现收集的性能分析数据。
检查性能分析数据
当您请求查看累积的性能分析数据时,PhpStorm 在单独的编辑器选项卡中打开其可视化表示。 选项卡以您当前正在分析的页面所实现的文件命名,并包含多个视图。 在视图之间切换,以根据不同的分析标准分析性能分析数据。
执行统计信息。 :使用此选项卡检查每个被调用函数的 执行指标的摘要信息。
调用树 :使用此选项卡探索所有被调用函数的执行路径。
被调用者 :使用此选项卡探索在 调用树 选项卡中选择的特定函数的执行路径。
调用者 :使用此选项卡探索可能导致调用 调用树 选项卡中选择的特定函数的所有路径。
指标名称 | 描述 |
|---|---|
时间 | 在选定函数及其调用的所有函数中花费的时间(以百分比表示)。 |
自身时间 | 在选定函数中花费的时间(以百分比表示),不包括调用的函数中花费的时间。 |
内存(B) | 选定函数及其调用的所有函数消耗的内存量(以字节为单位)。 |
自身内存(B) | 选定函数消耗的内存量(以字节为单位),不包括调用的函数消耗的内存量。 |
调用 | 选定函数被调用的次数。 |