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

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

1. Kint
            

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

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

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

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

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

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

7. Krumo
            

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

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

9. Php Debug
            

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

10. Webgrind
            

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

11. PHP_Dyn
            

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

12. MacGDBp
            

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

英文原文:12 PHP Debugging Tools for Developers

为 PHP 开发者准备的 12 个调试工具的更多相关文章

  1. 为 PHP 开发者准备的 12 个调试工具(转)

    为 PHP 开发者准备的 12 个调试工具 PHP是在实践中发展迅速并被最多使用的脚本语言:包含了诸如详细的文档.庞大的社区.无数可使用的脚本及支持框架等许多特性.PHP提供的这些特性使得它比Pyth ...

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

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

  3. 开发者必备的12个JavaScript库

    现在 web 设计是最有趣的了,做好 web 设计不仅要熟练使用 Javascript,css 和 html 等,还要有自己的创意设计.为了方便大家发挥自己的创意,就产生了很多 JS 框架,Node. ...

  4. 作为前端Web开发者,这12个终端命令不可不会

    对于开发人员来说,终端是最重要的工具之一.掌握终端,能够有效的提升开发人员的工作流程.使用终端,许多日常任务都被简化为了编写简单的命令并按下 Enter 按钮. 本文列举了一系列 Linux 命令,旨 ...

  5. 开发者必备的 12 个 JavaScript 库

    现在 web 设计是最有趣的了,做好 web 设计不仅要熟练使用 Javascript,css 和 html 等,还要有自己的创意设计.为了方便大家发挥自己的创意,就产生了很多 JS 框架,Node. ...

  6. iOS传感器集锦、飞机大战、开发调试工具、强制更新、Swift仿QQ空间头部等源码

    iOS精选源码 飞机大作战 MUPhotoPreview -简单易用的图片浏览器 LLDebugTool是一款针对开发者和测试者的调试工具,它可以帮... 多个UIScrollView.UITable ...

  7. Node 脚本的调试工具

    2016年,Node 决定将 Chrome 浏览器的"开发者工具"作为官方的调试工具,使得 Node 脚本也可以使用图形界面调试 1.准备 创建目录 D:\nodejs>mk ...

  8. 阿里云MVP:开发者的超能力,用技术创造更好世界

    阿里云MVP:开发者的超能力,用技术创造更好世界 2019年3月,第8期阿里云MVP(最有价值专家)完成终审,截至目前,全球已有27个国家和地区.近500位云计算专家和优秀开发者成为阿里云MVP.阿里 ...

  9. Windows Phone App的dump 文件分析

    前言 我们在发布了自己的App以后,Windows Phone的Error Report机制会帮助我们收集程序的崩溃信息并发送到微软的服务器上,这可以辅助开发者提高App的稳定性. 那么如何利用这些d ...

随机推荐

  1. 【Weblogic】--Weblogic的部署方式和缓存

    参考网址: http://dead-knight.iteye.com/blog/1938882 Weblogic11g部署web应用,有三种方式,非常简单,但是很多新手部署总是出现若干错误,不知道如何 ...

  2. 有关IE的操作(收藏夹,清理缓存等)

    1.添加网页到收藏夹的函数: procedure AddURL(Folder, Url, Title: string); var MyUrlFile: TextFile; begin if Folde ...

  3. MVC控制器C完美分离(有脚手架辅助)

    MVC控制器C完美分离(有脚手架辅助) 1. 第一步:建立一个web项目和Controllers的类库,引用必要的dll,然后生成,之后去找到他的目录,找到.csproj后缀的文件,然后在找到web项 ...

  4. Outlook打不开? 进程一大堆!

    问题描述: ====== 关闭Outlook应用程序后,Outlook.exe进程仍在任务管理器里继续运行,不能关闭. 原因: ====== Outlook的插件或者扩展程序阻止Outlook关闭 解 ...

  5. zip压缩

    package com.green.project.compress; import java.io.File;import java.io.FileInputStream;import java.i ...

  6. Linux: uid/euid/suid的关系

    三种进程用户的简单解释:三种用户/组ID:uid/gid: 实际用户/组IDeuid/egid: 有效用户/组ID, 进程执行某个应用的用户/组ID.suid/sgid: 设置用户/组ID, 应用所属 ...

  7. 如何用nodejs写入mysql 的blob格式的数据

    So, if the array length equals 4, then the size of blob data in mysql DB must be 4 bytes. And it wor ...

  8. C# 执行Cmd窗口中的命令 [复制文件实例]

    /// <summary> /// 复制文件夹 /// </summary> /// <param name="sCmd"></param ...

  9. 通过firefox+ProxySelector+dtunnel_lite实现代理上网

    通过firefox+ProxySelector+dtunnel_lite实现代理上网 dtunnel_lite:http://dog-tunnel.tk/下载lite版本就可以 远端:./dtunne ...

  10. R语言 如何为图片添加文字说明(转载)

    转载:(中文翻译者)[http://blog.csdn.net/chen790646223/article/details/49766659] (原文链接)[http://datascienceplu ...