如何将 PHP 代码分析器用于 Symfony CLI 脚本? [关闭]

Posted

技术标签:

【中文标题】如何将 PHP 代码分析器用于 Symfony CLI 脚本? [关闭]【英文标题】:How can I use a PHP code profiler for with Symfony CLI scripts? [closed] 【发布时间】:2011-04-27 20:05:24 【问题描述】:

我的环境包括带有 Zend Server CE 和 Ubuntu Server、Apache 2 的 OS X。在 php 5.3 上使用 Symfony 1.4 和 Doctrine 进行开发。

我正在寻找一个可以与命令行 PHP 脚本以及 Apache 调用的 PHP 一起使用的分析器。目前我对命令行的需求实际上比网络脚本更迫切。

我已经通过记录 microtime() 间隔进行了一些蛮力计时,效果很好,但我希望能够获得每个被调用函数的总时间,而无需太多手动编码。

虽然我主要关心的是时间分析,但内存分析器也非常有用。与使用 microtime() 类似,我有时不得不在实例化大型对象或集合之前和之后重复调用 memory_get_usage() 以了解它们的占用空间有多大。

【问题讨论】:

各种 PHP 分析工具的讨论:***.com/questions/21133/… 【参考方案1】:

XDebug 可以进行分析。嗯...它可以为您收集分析数据。然后,您可以使用其他应用程序来分析这些数据。点击链接了解更多信息。

【讨论】:

我给了你+1,因为你也将我指向 Xdebug。【参考方案2】:

webgrind 非常适合我

【讨论】:

+1 用于建议 webgrind。我喜欢它。【参考方案3】:

这是我非常满意的最终解决方案。

我尝试通过以下命令安装 XDebug 2.1.1:

pecl install xdebug 

但是,由于出现这种错误,这非常失败:

找不到自动配置。请检查 您的 autoconf 安装和 $PHP_AUTOCONF 环境变量。 然后,重新运行此脚本。错误: `phpize' 失败

经过大量搜索,我遇到了其他人在 OS X 上尝试过这个。幸运的是,他们提到安装 Apple Xcode 将提供 autoconf、phpize 和其他所需工具。

我得到了 Xcode 3 并安装了它,然后重新尝试了 pecl install xdebug,它运行良好。在学习了如何在我的 PHP 的 CLI 实例中启用 xdebug 并弄清楚输出文件的去向之后,我转向了 Webgrind。在查看我的第一个 webgrind 报告的几分钟内,我很高兴地确定了我的 symfony 任务需要优化的区域。这太棒了。

在我的搜索中,我也遇到了this promising page about how to use Xdebug for MEMORY profiling。我还没有尝试过这个,但想在这里添加它以防它帮助其他人。


我收到了一条有用的评论,其中包含指向相关讨论的链接和两个部分答案,它们都很有帮助。我给了每个响应者一个赞成票并表示了这一点。

我希望 S.O.似乎并没有如此强调接受一个答案,但既然如此,我正在写一个更完整的答案并接受它,但确保给所有有帮助的响应者点赞。再次感谢。

【讨论】:

以上是关于如何将 PHP 代码分析器用于 Symfony CLI 脚本? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 4 在 DEV 中运行缓慢

如何在Symfony2中将json渲染成树枝

如何将 parse.com php sdk 添加到 symfony

如何在symfony项目中将php版本从7.0降级到5.6?

如何将Symfony 3捆绑应用程序升级到Symfony 4无捆绑应用程序?

Apache 中的 RewriteRule 与 Symfony2 不删除 app.php