PHPStorm 之 Xdebug 配置及使用

老牛浏览 382评论 0发表于

Xdebug 是一个开放源代码的 PHP 程序调试器(即一个 Debug 工具),可以用来跟踪,调试和分析 PHP 程序的运行状况,包括断点调试,性能分析等。

Xdebug官网

IDE Xdebug 示意图如下:

65e890eb-43e7-4da1-93b9-835d64d3587c

我们可以在 向导页 粘贴 phpinfo 页面源代码来获取对应当前操作系统环境及 PHP 版本的 Xdebug 扩展文件。

下载 dll 文件后按说明将其放到 php 扩展目录下,并在 php.ini 配置文件中启用该扩展,并添加相关配置。

ini
[XDebug]
;remote 为 IDE 主机相关信息
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
zend_extension="D:\phpStudy\php\php-7.0.12-nts\ext\php_xdebug.dll"

配置完成后,保存,重启 Apache 服务器,打开 phpinfo 页面,如果看到 Xdebug 相关信息,则表示成功了。

接下来配置 PHPStorm。

28428c5e-fe96-48bd-91e0-26ee148f896a6d29565b-20fd-4b73-826e-3bd2085c374fe3a718f3-7f99-4f00-b62d-f0b647ee501d2a3a1b89-00cb-4d6e-876d-36ab142e866ab50f77ab-ac2d-4e2a-bbb1-4ba1fe7bfc509856feee-402d-4c1b-89e6-6daba7656913

打断点之后就可以开始了。

如果要启用 Xdebug 的 trace 和 profiler,需要在 php.ini 里面追加相关配置。

以开启 profiler 来进行性能分析为例:

ini
[XDebug]
;xdebug.profiler_enable 开启后每次请求都会记录
xdebug.profiler_enable=0
;开启 xdebug.profiler_enable_trigger 则需要关闭 xdebug.profiler_enable,即在请求时,GET/POST 或者 COOKIE 中包含 XDEBUG_PROFILE 变量时才记录。推荐使用此方式以减小日志文件的磁盘空间占用。
xdebug.profiler_enable_trigger=1
;xdebug.profiler_output_dir 用于配置日志生成目录,不指定则使用默认目录。(如果该目录下始终不生成文件,请使用默认目录。)

我们访问 http://c.cn?XDEBUG_PROFILE

看到 xdebug.profiler_output_dir 目录下生成了日志文件:

39bafad5-3f8b-4534-afbc-a0ae45631377

然后需要借助图形化分析工具 qcachegrind 打开该文件,即可看到下面的分析结果:

3a239749-bd3e-49ea-857c-0a6d0fbdfeb9

很清晰的看见耗时和调用次数。

点赞
收藏
暂无评论,快来发表评论吧~
私信
老牛@ilaoniu
老牛,俗称哞哞。单纯的九零后理工小青年。喜欢折腾,爱玩,爱音乐,爱游戏,爱电影,爱旅游...
最后活跃于