2011-04-27 30 views
0

我的环境,包括与Zend服务器CE和Ubuntu服务器,Apache的2. Symfony的1.4 &发展学说对PHP 5.3 OS X。如何在Symfony CLI脚本中使用PHP代码探查器?

我在寻找可以使用命令行PHP脚本以及Apache的调用PHP中使用的探查。目前我对命令行的需求实际上比web脚本更为紧迫。

我已经通过记录microtime中做了一些蛮力定时()的时间间隔,效果良好,但我希望能够得到总时间被调用各功能,没有这么多的手工编码。

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

+1

讨论各种PHP分析工具:http://stackoverflow.com/questions/21133/simplest-way-to-profile-a-php-script – 2011-04-27 20:35:10

+0

@Blowski。 +1为您的链接。 – ybull 2011-04-28 13:36:11

回答

1

下面是我和很高兴最终的解决方案。

我试图通过命令安装了XDebug 2.1.1:

pecl install xdebug 

然而,这与这种错误惨遭失败:

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. ERROR: `phpize' failed

一堆搜索我碰到有人来了之后其他人在OS X上尝试过这一点。幸运的是,他们提到安装Apple Xcode将提供autoconf,phpize和其他所需的工具。

我得到了Xcode 3并安装了它,然后重新尝试了pecl install xdebug,它运行得非常漂亮。在学习了如何在我的CLI CLI实例中启用xdebug并确定输出文件的位置后,我开始转向Webgrind。在几分钟内看到我的第一份webrrind报告,我高兴地指出我的symfony任务的优化领域。它一直很棒。

而且在我搜索我碰巧对面this promising page about how to use Xdebug for MEMORY profiling。我还没有尝试过,但想在这里添加它以防别人帮助其他人。


我收到了一条有用的评论,其中包含相关讨论的链接和两个有用的部分回答。我给每个响应者一个赞成,并表示如此。

我希望S.O.似乎并没有强调接受单一答案,但既然它确实如此,我正在写一个更完整的答案并接受答案,但一定要给所有有帮助的答复者提供赞扬。再次感谢。

4

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

+0

我给你+1也指向我Xdebug。 – ybull 2011-04-28 13:37:53

3

webgrind的作品真的很好,我

+0

建议使用webgrind。我喜欢它。 – ybull 2011-04-28 13:38:15