小九博客

  • 首页
  • 编程开发
  • 信息安全
  • 工具资源
  • 随笔
  • 在线工具
    • 在线图片水印
    • Json解析
    • JavaRuntimeExec
    • 加解密/编码工具集
  • 关于
小九博客
Hack The World!
  1. 首页
  2. 编程开发
  3. 正文

PHP-Xdebug

2018年03月02日

PHP使用Xdebug调试PHP项目

前言

网上类似的教程比较多,这里仅仅作为几个记录,用于备忘。

在项目过程中,使用某开源插件,结果在更新后,插件会报一些错误,传统的var_dump方式比较繁琐,这个时候正好使用Xdebug来进行调试。

Xdebug下载:https://xdebug.org/download.php

环境:

| |
–:|:–
PHP版本|PHP 7.1.14 x64 VC14 nts
Xdebug|Xdebug-2.6.0-7.1-vc14-nts-x86_64
IDE|PHPStorm 2017.2.1

环境安装

  1. Xdebug安装

    通过phpinfo();检查是否安装扩展。

    如果没有安装,到https://xdebug.org/download.php Xdebug下载页面下载dll

    我下载的PHP7.1版本php_xdebug-2.6.0-7.1-vc14-nts-x86_64.dll

    如果不知道如何选择,可以到官方提供的帮助页面
    https://xdebug.org/wizard.php

    在此使用php -i 输出phpinfo信息,然后将信息粘贴到该页面,提交后会告诉你下载链接。
    QQ截图20180302133423.jpg

    得到结果如图
    QQ截图20180302133535.jpg

    修改PHP.ini 加入以下代码,开启Xdebug扩展。

    1
    zend_extension = php_xdebug-2.6.0-7.1-vc14-nts-x86_64.dll

    重启PHP后,使用php -v 查看是否安装成功。
    QQ截图20180302133724.jpg

  2. PHPStorm 配置

    配置PHPstorm之前,要配置xdebug允许phpstorm进行调试。
    修改php.ini加入以下代码

PHPstorm默认使用的9000端口,但本地有程序占用,于是进行了修改。这里一定要和PHPstorm的端口一致

1
2
3
4
5
6
[xdebug]
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host= localhost
xdebug.remote_port = 8091
xdebug.idekey = PHPSTORM

phpinfo.jpg

重启PHP

接下来修改PHPstorm配置

修改 文件->设置->语言和框架->PHP->Debug
phpstormsetting.jpg

修改 文件->设置->语言和框架->PHP->Debug->DBGp Proxy

Host 如果自定义了域名一定要写你自定义的域名
QQ截图20180302134004.jpg

** 添加一个Server**

文件->设置->语言和框架->PHP->Servers

Host 如果自定义了域名一定要写你自定义的域名
QQ截图20180302134426.jpg

修改 运行调试配置
添加一个PHP Web Application.
QQ截图20180302134527.jpg

  1. 下断调试

    在行号后点击,出现红点,说明下了断点。
    QQ截图20180302134917.jpg

    开启监听,如上图所示,有一个电话的图标,将其置为绿色启用监听。

    点击臭虫按钮,弹出网站页面,就可以看到监听信息了,可以看到许多变量信息。
    QQ截图20180302135208.jpg

我这里是遇到yii-audit插件总是无法插入request数据到数据库,进行一次调试。
https://github.com/bedezign/yii2-audit/issues/238

标签 Xdebug PHP调试 phpStorm+Xdebug
最后更新:2018年03月02日

文章评论

小九

Just For Fun

文章大纲
  1. PHP使用Xdebug调试PHP项目
    1. 前言
    2. 环境安装
分类目录
  • 编程开发
  • Yii2
  • 随笔
  • 工具资源
  • Django
  • 信息安全
标签聚合
yii2-事件 阿里云OSS CDN GD库漏洞 DatePicker yii2-event
随机 最新 热点
随机 最新 热点
Yii2 Audit插件的使用【日志记录插件】 Codeception(二) Yii2 Event事件-初识 PHP反射机制 记一次普通的渗透测试 DNSRebind攻击
OpenSearch集群部署 DNSRebind攻击 MySQL数据同步到ElasticSearch(Logstash方案)爬坑纪实 自动化编排学习(一)部署篇 常见容器漏洞总结 免费CDN加速手把手教程

COPYRIGHT © 2021 小九博客 ALL RIGHTS RESERVED.