入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

PHP-var_dump和Xdebug

创建时间:2017-08-11 投稿人: 浏览次数:686

昨天在换了自己的开发环境后(在VMware中安装Linux,运行Nginx+PHP+MySQL,挂在Windows共享目录存放代码),有一点很不适应的就是,var_dump打印出来的数据很不友好,

array(1) { [0]=> array(2) { [0]=> string(4) "2[a]" [1]=> string(5) "5[ef]" } }

和之前用wamp的时候打印数组是格式化过的,很容易看清数组结构。有想过折中的办法,先转换成JSON,在将JSON格式化。正当准备这么干的时候,突然想起有个xdebug这个东西,替换了PHP自带的var_dump函数,将不同的数据类型用不同的颜色显示,猜测可能是由于wamp安装了xdebug的原因。于是决定安装xdebug扩展。

https://xdebug.org/

编译安装xdebug之后,修改php.ini,重启php-fpm.查看phpinfo();再次打印数组:


感觉突然好打脸啊,使用PHP这么久了,现在才知道自己一直在使用的var_dump()被xdebug重写了。在工作中看到还是有人在使用print_r(),虽然相比于直接用var_dump()输出友好些了,但还是没有xdebug好用。

xdebug的其他功能也是非常不错,

1、代码覆盖率测试

通过这是可以查看执行的代码是在哪一行,有那些行没有执行

  xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE)

  xdebug_get_code_coverage

2、变量显示相关设置

var_display_max_children

var_display_max_depth

var_display_max_data

3、方法堆栈跟踪

xdebug_get_function_stack

4、内存消耗查看

xdebug_peak_memory_usage

xdebug_memory_usage

测试的时候和memory_get_usage、memory_get_peak_usage等效的。在最高并发的情况下,服务器应该配置多大的内存应该有帮助。



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。