为PHP开发者准备的12个调试工具

PHP是在实践中发展迅速并被最多使用的脚本语言;包含了诸如详细的文档、庞大的社区、无数可使用的脚本及支持框架等许多特性。PHP提供的这些特性使得它比Python或Ruby等脚本语言更容易上手。

为构建极具创新乐趣的Web应用,PHP开发人员持续搜寻着有用的工具。在这篇文章中,我收集了开发人员的12个PHP调试工具,它们将有助于开发人员轻松找出并调试应用程序及脚本中的错误。下面的PHP调试工具支持Ajax请求,并包含通用数据采集器和基于堆栈的错误处理器。我希望你能在未来的项目中体会到这个列表的方便和有用之处。

1. Kint

kint

当调试PHP代码时,var_dump()、print_r()和debug_backtrace()是我们最常用的工具。Kint,一个开源软件,一个不需安装的替代者,它提供了更好的调试体验。它巧妙地检测几乎不可读的数据,并将它们定制成规则的输出显示。变量名、文件、行号及包装的函数它全能提示出来。

源码

2. DebugBar

debugbar

DebugBar是一个自由开源软件,它可以被集成到任何PHP项目用来收集和定位数据。它没有第三方依赖,支持Ajax请求,包含通用数据收集器且集成常见的库。生成的bar是100% JavaScript实现的并被放置在页面底部(像开发工具一样)。新的收集器和视图可以被轻松的添加,并且可以保存或重新运行以前的请求。

源码

3. Pinba

pinba

Pinba是一个可作为PHP统计服务使用的开源MySQL存储引擎。它使用收到的数据来分析PHP应用性能并快速定位任何问题。

源码

4. PHPMD

phpmd

PHPMD是一个易于配置,对PHP原始依赖指标友好的前端。它在你的代码中的寻找多种潜在问题,包括可能的bug、不适合的代码、未使用的参数等。

源码

5. Xde Bug

xdebug

Xdebug是一个自由开源的用于调试和分析PHP脚本细节的PHP扩展。由于它是一个扩展,所以使用起来很方便,且在编码端只需要很少的设置。它可以提供错误信息中堆栈跟踪和函数跟踪的所有数据,包括用户定义函数的所有参数、函数名、文件名以及行标志。Xdebug还可以提供内存分配、分析信息和代码覆盖率分析的数据。

源码

6. Whoops

whoops

Whoops是一个使错误处理和调试更容易的PHP库。这个库提供基于堆栈的错误处理,并且有一个好看的界面。它有一个处理异常的简单API,能够跟踪帧及它们的数据,并可以与任何框架整合(end和Silex已经内置集成)。

源码

 

7. Krumo

krumo

很多PHP开发者使用print_r()和var_dump()对输出难读或未格式化的结果进行调试。Krumo是这些函数的一个替代者,它可以显示任何 PHP变量的结构化信息。Krumo运行后,输出会显示成一个围绕PHP变量的可折叠的DHTML树结构。同时,它通过自身把调试过程“关掉”而不是禁用代码里的所有追溯路径的能力加快了调试过程。

源码

8. Php Debugger

PHP Debugger

调试是发现并修复bug的过程,PHP Debugger是帮助你快速的找到错误并将它们从你的PHP程序中移除的最好的工具。你可以在PHPEd中设置远程调试,通过Wizardand DBG向导中的PHP调试设置开启。

源码

9. Php Debug

PHP_Debug

PHP_Debug的基本目的是在调试PHP代码时提供援助。

源码

10. Webgrind

webgrind_large

Xdebug是最受欢迎的PHP调试扩展之一。它提供了许多有用数据来帮助你在源码中查找bug。

源码

11. PHP_Dyn

php_dyn

PHP_Dyn是有一个优秀的开源PHP调试工具。你可以跟踪函数执行并得到函数参数和返回值的一个输出。

源码

12. MacGDBp

MacGDBp

MacGDBp是一个MAC OS上的PHP调试器。它有你所期望的所有特性,是一个包含逐句运行及设置断点等功能的全功能调试器。

源码

英文原文:12 PHP Debugging Tools for Developers

译文链接:http://www.oschina.net/translate/12-php-debugging-tools-for-developers


( ! ) Warning: Missing argument 1 for cwppos_show_review(), called in /data/www/enjoyphp/wp-content/themes/flat/content-single.php on line 29 and defined in /data/www/enjoyphp/wp-content/plugins/wp-product-review/includes/legacy.php on line 18
Call Stack
#TimeMemoryFunctionLocation
10.0000355416{main}( ).../index.php:0
20.0001355704require( '/data/www/enjoyphp/wp-blog-header.php' ).../index.php:17
30.170510161920require_once( '/data/www/enjoyphp/wp-includes/template-loader.php' ).../wp-blog-header.php:19
40.171710233064include( '/data/www/enjoyphp/wp-content/themes/flat/single.php' ).../template-loader.php:74
50.252810838544get_template_part( ).../single.php:5
60.252810839064locate_template( ).../general-template.php:167
70.252810839160load_template( ).../template.php:643
80.252810839544require( '/data/www/enjoyphp/wp-content/themes/flat/content-single.php' ).../template.php:686
90.269710832752cwppos_show_review( ).../content-single.php:29

1 评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注