使用PhpStorm和Xdebug分析PHP应用程序
来源:互联网 发布:java开发工具怎么用 编辑:程序博客网 时间:2024/06/05 18:16
使用PhpStorm和Xdebug分析PHP应用程序
使用PhpStorm,我们可以分析我们的PHP代码的性能。分析允许我们收集程序执行统计信息,例如执行的函数的名称,函数的执行次数,函数执行的时间,调用的其他函数等等。这些信息可以给我们提示我们的代码可以改进的地方。
让我们看看这是如何工作的。
- 要求
- 1.启用Xdebug分析器
- 2.捕获分析器快照
- 2.1。捕获Web应用程序的分析器快照
- 2.2。捕获CLI应用程序和单元测试的分析器快照
- 3.分析探查器快照
- 3.1。打开分析器快照
- 3.2。执行统计信息选项卡
- 3.3。调用树选项卡
要求
PhpStorm使用Xdebug来收集分析器信息。这个调试引擎必须在我们的系统上安装和配置。有关更多信息,请参阅“ Xdebug安装指南”。
1.启用Xdebug分析器
分析为运行的应用程序增加了一些开销,并在磁盘上生成大量的信息。因此,最好只在需要时启用Xdebug分析器,然后将其禁用。
要全局启用Xdebug分析器,请编辑活动的php.ini文件并添加以下指令:
xdebug.profiler_enable启用或禁用分析器。xdebug.profiler_output_dir指定应该存储探查器快照数据的位置。如果未指定此设置,则Xdebug将默认为/ tmp文件夹。
2.捕获分析器快照
为了能够分析探查器捕获的信息,我们首先必须收集这些信息。
2.1。捕获Web应用程序的分析器快照
要配置Web应用程序,请全局启用Xdebug事件探查器,或者使用PhpStorm小书签 (或其中一个 浏览器调试扩展)按需启动和停止事件探查器。接下来,在浏览器中打开应用程序以开始收集分析器数据。
2.2。捕获CLI应用程序和单元测试的分析器快照
要配置CLI应用程序和单元测试,请全局启用Xdebug事件探查器,或创建一个单独的启用事件探查器的“运行配置”。接下来,运行应用程序或单元测试以开始收集分析器数据。
在分析单元测试中的性能问题时,一个好的方法是创建一个单独的运行配置,它只运行怀疑有性能问题的单元测试。这允许捕获目标探查器快照。
3.分析探查器快照
我们来看一下profiler快照。
3.1。打开分析器快照
使用工具| 分析XDebug分析器快照菜单,我们可以打开一个分析器快照。
快照存储在php.ini中配置的目录中 ( 如果未明确配置,则为/ tmp)。生成的文件的名称始终以“cachegrind.out”开头。并以PHP或Web服务器进程的进程ID或包含最初调试脚本的目录的crc32散列结尾。
3.2。执行统计信息选项卡
在执行统计视图中,我们可以检查每个被调用函数的执行度量的摘要信息。我们可以看到所有文件,函数调用,调用次数以及执行时间(绝对和相对)。
顶部网格向我们展示了不同的指标:
- 可调用 - 已执行的文件
- 时间 - 总执行时间
- 自己的时间 - 函数花在执行自己的代码上的时间(不包括对其他函数的调用)
- 通话次数 - 通话次数
底部网格有两个选项卡,Callees(脚本调用的函数)和Callers(调用脚本的地方)。我们也可以在这里看到各种指标:
- 可调用 - 已执行的功能
- 时间 - 总执行时间
- 通话次数 - 通话次数
拥有较高时间和/或大量呼叫的功能绝对值得检查。
3.3。调用树选项卡
调用树视图显示我们的代码的执行路径。我们可以看到关于函数执行时间等的更多细节。
顶部网格显示我们调用树(哪些函数调用哪个函数)和不同的度量:
- 可调用 - 已执行的文件
- 时间 - 总执行时间
- 通话次数 - 通话次数
底部网格有两个选项卡,Callees(正在调用的函数)和Callers(调用函数的地方)。我们也可以在这里看到各种指标:
- 可调用 - 已执行的功能
- 时间 - 总执行时间
- 通话次数 - 通话次数
- 使用PhpStorm和Xdebug分析PHP应用程序
- 使用PHPStorm + Xdebug + Firefox 单步调试PHP并分析代码性能
- phpstorm+XDEBUG的使用
- 在PhpStorm中使用xdebug调试PHP代码
- Php学习-使用PhpStorm、WampServer、Xdebug调试Web应用
- phpstorm + xdebug + Xdebug helper 调试php
- PHPstorm和Xdebug结合实现PHP断点调试
- phpstorm+Xdebug断点调试PHP
- xdebug + phpstorm调试php程序
- phpstorm+Xdebug断点调试PHP
- phpstorm+Xdebug断点调试PHP
- phpstorm+Xdebug断点调试PHP
- PHP+PhpStorm+Xdebug配置方法
- PhpStorm配置XDebug调试PHP
- phpstorm XDebug调试php设置
- phpstorm+xdebug断点调试php
- phpstorm+Xdebug断点调试PHP
- PhpStorm配置XDebug调试PHP
- Linux 如何更改主机名
- 【BZOJ3065】带插入区间K小值
- 第二章作业题1-顺序表
- Struts2与Cookie实现自动登录!
- App功耗优化
- 使用PhpStorm和Xdebug分析PHP应用程序
- Spark Streaming优雅的关闭策略优化
- python自动化测试android项目
- ERROR in Error encountered resolving symbol values statically. Function calls are not supported. Con
- vue 新增数据实现双向绑定
- 使用 libTomCrypt 实现 AES、HMAC、HKDF 运算
- MySQL数据库中tinyint类型字段读取数据为true和false
- 算法提高 求最大值 DP
- Day16—Set 集合、Map 集合、异常机制