用于实时站点的简单 PHP Profiler?

Posted

技术标签:

【中文标题】用于实时站点的简单 PHP Profiler?【英文标题】:Simple PHP Profiler for a live site? 【发布时间】:2012-09-14 08:10:46 【问题描述】:

我有一个实时网站,我希望有一个选项,如 php 分析器,它只在请求时执行(即,当向 url 添加参数时,如 ?_profiler=on)。

我知道在实时站点上运行完整的分析器是非常丑陋的事情,但我想检查哪些函数在执行时需要时间。

我只需要每当调用类(动作)内的函数时,我需要注册函数完成时的开始时间和结束时间并计算它所花费的总时间。

我正在寻找一个简单的 PHP 分析器,这样我就可以包含基库类并在控制器中启动分析器实例,然后它会自动查找操作中的每个函数调用并更新所用时间。

有人知道这种 PHP 分析器吗?请帮助找出或任何人都可以给我一个想法如何做到这一点?

【问题讨论】:

xdebug 有一个分析器,可以配置为在传递触发器(GET 参数)时运行 【参考方案1】:

我在 php.ini(或 php.d/xdebug.ini)中使用带有以下选项的 XDebug 分析器:

xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1

这意味着探查器在默认情况下是禁用的,但是当您将“?XDEBUG_PROFILER”添加到您的获取查询(例如,site.com/page?XDEBUG_PROFILE)时,xdebug 开始分析并创建适当的日志文件。您可以使用 xdebug.profiler_output_dir 选项指定放置它们的位置。

然后您可以使用一些 Web 前端应用程序来解析 xdebug 日志文件。不错的是:

http://code.google.com/p/webgrind/

您需要将它安装在您的网络服务器上。它基于 xdebug.profiler_output_dir 选项并自动获取日志文件。

【讨论】:

以上是关于用于实时站点的简单 PHP Profiler?的主要内容,如果未能解决你的问题,请参考以下文章

PHP 简单的Profiler

为啥 python profiler 给出了矛盾的结果?

PHP WP-config.php:localhost和开发以及实时站点在一个文件中。

PHP站点在localhost上正常运行但不在实时服务器上运行

php站内短消息 实时显示

Oracle中有没有啥工具 可以像MSSQL的Profiler工具一样实时跟踪被执行的SQL语句