php是解释性语言,大部分调试的时候使用var_dump+exit就可以搞定了,但是在大项目或遇到了负载的问题的时候你就需要断点调试、变量打印、性能分析了,php也有非常程序的解决方案,我们现在就动手安装使用起来。

xdebug安装

windows下的xdebug是根据你所安装的编译版本选择不同的dll文件的,NS为线程安装,VC11是编译器的版本,X86是32位操作系统选择的,X64是64位操作系统选择的,官网下载地址为:

https://xdebug.org/download.php

或者将 php -i 的信息复制到该页面,来帮助你下载哪个版本的dll文件。

https://xdebug.org/wizard.php

这是我的php.ini的配置信息,配置完成后使用php -m查看是否安装成功,如果有错误的话会在最上面显示,没问题后重启web服务器

[XDebug]
;DLL文件目录
zend_extension="c:/xampp/php/ext/php_xdebug-2.5.5-5.6-vc11.dll"
;IDE KEY
xdebug.idekey="PHPSTORM"
;远程调试功能,必须
xdebug.remote_enable=1
xdebug.remote_port="9000"
xdebug.remote_mode="req"
xdebug.remote_handler="dbgp"
;如果是外网ip,且能直接访问端口可实现远程调试功能
xdebug.remote_host="192.168.0.1"
;开启跟踪回溯功能
xdebug.auto_trace=0
xdebug.trace_enable_trigger=1
xdebug.trace_output_dir="C:\php-xdebug-trace"
xdebug.trace_enable_trigger_value="XDEBUG_TRACE"
;记录每个函数的返回值
xdebug.collect_return=1
;记录profile记录功能
xdebug.profiler_enable=1
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable_trigger_value="XDEBUG_PFOFILER"
xdebug.profiler_output_dir="c:\php-xdebug"

chrome xdebug工具安装

下载地址:

https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

下载后打开xdebug helper页面,设置IDE key为phpStrom,如图:

IDE Key: 编辑器设置

Trace Trigger Value: 通过GET/POST传递XDEBUG_TRACE来启动调试功能

Profile Trigger Value: 每次请求如果GET/POST包含变量名,就会自动生成性能报告,对应的配置为xdebug.profiler_enable_trigger_value,但需要xdebug.profiler_enable_trigger为on

phpstrom配置

  1. 打开File->Setting->Languages & Frameworks > Debug页面,设置xdebug配置

  2. 设置servers域名

    ![](http://images2017.cnblogs.com/blog/204688/201712/204688-20171212161208832-601662386.png)

  3. 打开Run > Edit Configuractions,新增一个php web applcation配置,server选择刚才创建的servers

  4. 好了,现在看看右上角的小电话按钮状态, 打开listen就可以开始调试了,或者点击Run/Debug就可以调试了,在程序的某个点打上断点,调试开始后在下面的操作栏会有运行到某个的变量信息,可以按箭头进行进入、下一步等调试。

配置postman调试post请求

在postman请求中的COOKIE里加入XDEBUG_SESSION=PHPSTORM则可调起phpstrom的调试功能

在Headers中新增key:Cookie,Value:XDEBUG_SESSION=PHPSTORM

XDEBUG_SESSION=PHPSTORM : 打开xdebug功能

XDEBUG_PROFILE=XDEBUG_PFOFILER : 打开profile功能

XDEBUG_TRACE=XDEBUG_TRACE : 打开trace功能

配置远程调试功能

参考:http://blog.csdn.net/qq_31105311/article/details/60322511

最新文章

  1. Webform(七)——内置对象(Session、Application)和Repeater的Command操作
  2. javascript-单例模式
  3. iSCSI配置流程
  4. 自定义C/C++头文件以及头文件重复定义解决
  5. jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动
  6. tcpdump使用技巧
  7. 17.1.1.7 Setting Up Replication with New Master and Slaves 设置复制对于新的Master和Slaves:
  8. HOJ 2245 浮游三角胞(数学啊 )
  9. js导入的注意.txt
  10. 201521123101 《Java程序设计》第10周学习总结
  11. Tortoisegit图文使用教程
  12. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第九集-补充-之安装jdk】
  13. MSSQL和MYSQL数据库降权
  14. sql语句中 “where 1=1” 的用处
  15. NMS和soft-nms算法
  16. Oracle RAC 环境下的连接管理(转) --- 防止原文连接失效
  17. ios页面间跳转方式总结
  18. Python与系统的交互方式
  19. UOJ117. 欧拉回路【欧拉回路模板题】
  20. AS3.0 Vector的运用

热门文章

  1. 20181120-10 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 7
  2. HUST学期助教总结
  3. 20135208JAVA第二次试验
  4. java 中的 i=i++
  5. Java 将数字转为16进制,然后转为字符串类型 将空格去掉。终结版
  6. 201621123037 《Java学习设计》 第五周学习总结
  7. 编写shell时,遇到let: not found错误及解决办法
  8. set集合,深浅拷贝以及部分知识点补充
  9. Java中int与String间的类型转换
  10. Hibernate 应知应会