PHPStorm 使用 Xdebug
一、下载xdebug
xdebug官网:https://xdebug.org/download.php
在选择下载哪个版本的xdebug的时候需要注意了,下面有两种方法,让你准确的下载自己环境对应的xdebug文件:
1>.打印出phpinfo()信息,如下:


然后还要注意一点就是看看自己php对应的版本和操作系统的位数,结合这四点去官网找到对应的xdebug文件(本人是php是7.0.1的版本,文件名:php_xdebug-2.6.0-7.0-vc14-x86_64.dll)
2>.使用xdebug官方提供的一个检测工具:https://xdebug.org/wizard.php

这里就把phpinfo()的信息使用输出出来(注意:使用输出函数,比如var_dump()),然后就会检测你的可以下载对应的版本,如下图:

二、安装并配置xdebug
1>.将下载好的.dll文件放入指定的位置(......\php\php7.0.10\ext\)
2>.配置php.ini配置文件(这里需要注意一点,找对了php.ini文件),在网页上打印出phpinfo()的信息,查看这一条信息:

可以看到是哪个php的配置文件,然后添加一下配置:

[xdebug]
zend_extension ="G:/wamp64/bin/php/php7.0.10/ext/php_xdebug-2.6.0-7.0-vc14-x86_64.dll" xdebug.remote_enable = On
;启用性能检测分析
xdebug.profiler_enable = On
;启用代码自动跟踪
xdebug.auto_trace=On
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_name = cachegrind.out.%t.%p
;指定性能分析文件的存放目录
xdebug.profiler_output_dir ="G:/wamp64/tmp"
xdebug.show_local_vars=0 ;配置端口和监听的域名
xdebug.remote_port=9000
xdebug.remote_host="localhost"

配置完成后,就可以重启你的环境了,然后在页面打印出phpinfo()信息就能看到有xdebug的信息了
三、配置phpstorm
1>.打开phpstorm,PHP>Debug 的设置,“Debug port”与“xdebug.remote_port”一致,并且允许外部连接(浏览器XDebug插件):

如图host配置成你刚才设置php配置文件中 xdebug.remote_host="localhost"对应的参数,注意端口默认80,不需要改变,debugger选择xdebug即可
2>.PHP>Debug 的设置,配置端口:

3>.设置服务器调试配置,Run>Web Server Debug Validation:

四、安装Chrome的XDebug插件,参考链接:Install Xdebug Helper
五、在phpstorm中使用xdebug进行调试:

不装Xdebug Helper 谷歌插件的配置:
一、xdebug配置文件:
PHP > 最好下 php_xdebug-2.6.-7.2-vc15-x86_64.dll [Xdebug]
;指定Xdebug扩展文件的绝对路径
zend_extension="D:\laragon\bin\php\php-7.2.11-Win32-VC15-x64\ext\php_xdebug.dll" ;是否开启远程调试
xdebug.remote_enable= xdebug.remote_connect_back = ;指定远程调试的端口号
xdebug.remote_port= ;指定远程调试的主机名
xdebug.remote_host=localhost xdebug.remote_mode = "req" ;指定远程调试的处理协议
xdebug.remote_handler="dbgp" ;指定传递给DBGp调试器处理程序的IDE Key
xdebug.idekey = "PHPSTORM" ;是否启用Xdebug的性能分析,并创建性能信息文件
xdebug.profiler_enable= ;指定性能分析信息文件的输出目录
xdebug.profiler_output_dir="D:\xdebug" ;指定堆栈跟踪文件的存放目录
xdebug.trace_output_dir="D:\xdebug" ;启用代码自动跟踪
xdebug.auto_trace=on ;允许收集传递给函数的参数变量
xdebug.collect_params=on ;允许收集函数调用的返回值
xdebug.collect_return=on
二、配置phpstrm调试thinkphp5.1代码:
1、xdebug监听端口

2、配置DBGp Proxy

3、添加servers

4、添加配置



5、添加断点

6、会自动打开浏览器
7、调试

调试单个文件的配置
0、选择php

1、添加配置

2、选择配置文件类型

3、配置文件信息

4、调试

参考文档:
http://www.mayanlong.com/archives/2017/411.html
http://www.mayanlong.com/archives/2017/phpstorm-xdebug.html
https://www.cnblogs.com/zengguowang/p/8391227.html
PHPStorm 使用 Xdebug的更多相关文章
- PhpStorm集成xdebug进行断点调试
本文介绍如何使用PhpStorm集成xdebug在本地开发环境进行断点调试的技巧. 我配置的环境是:Windows10 + PhpStorm10.0.1 + PHP5.6. 1. 下载xdebug的扩 ...
- 【总结1】PhpStorm配置XDebug(远程)调试PHP
配置PhpStorm调试PHP 第一步:配置 XDebug 下载安装XDebug到本地环境,打开php.ini,参考配置如下: [XDebug] zend_extension = "D:\P ...
- 【总结2】PhpStorm利用XDebug调试PHP技巧
在写完 [总结1]PhpStorm配置XDebug(远程)调试PHP 后,发现PhpStorm调试PHP还有一个技巧,如下图所示: 路径:File -> Settings -> Langu ...
- 使用phpstorm和xdebug实现远程调试
使用phpstorm和xdebug实现远程调试 2012-05-23 10:06:35 vs的断点调试功能很强大有木有,能查看所有变量有木有.php调试很麻烦有木有,echo,var_dump写得你想 ...
- PHPStorm下XDebug配置
PHPStorm下XDebug配置 分类: PHP2013-08-11 22:15 19697人阅读 评论(0) 收藏 举报 目录(?)[+] 1安装Xdebug 用yum安装可能会失败,用p ...
- phpstorm配置Xdebug进行调试PHP教程
运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...
- Mac+PhpStorm+XAMPP+Xdebug
Mac+PhpStorm+XAMPP+Xdebug 环境的配置 在上一篇 PHP 系列的文章<PHP 集成开发环境比较>中,我根据自己的亲身体验,非常简略的介绍和对比了几款常用的集成开 ...
- mac+phpstorm增加xdebug调试
一.版本信息 mac 10.10.5 phpstorm 10.0.3 xdebug 版本需要与phpstorm匹配,匹配地址 点我匹配 点我查看所有版本 提示:不确定xdebug版本的,把php ...
- phpstorm+wamp+xdebug配置php调试环境
本篇文章主要是:教大家如果搭建一套phpstorm+wamp+xdebug调试php的环境现在大多数的程序员使用的调试方式一般都是echo, var_dump, file_put_contents等其 ...
- Mac超快速搭建Nginx、PHP、PHPStorm、XDebug环境
一.安装自己需要的版本php 以php7.1为例,执行:curl -s https://php-osx.liip.ch/install.sh | bash -s 7.1 (去这个链接下找自己想要下载的 ...
随机推荐
- winform学习(8)RichTextBox控件
RichTextBox控件允许用户输入和编辑文本的同时提供了比普通的TextBox控件更高级的格式特征. RichTextBox的控件标识符.SelectionColor = Color.Blue; ...
- luckyframe的一些坑
建议使用idea运行 1.第一次运行访问http://localhost:8088/LuckyFrameServer 2.luckyframe提示“javax.net.ssl.SSLKeyExcept ...
- 主库增加表空间导致DG同步失败
由于主库表空间不足,同事给表空间增加数据文件,第二天收到反馈说备库未同步. 1.主.备查看归档序列号,发现主.备归档正常同步. SQL>archive log list 2.在主库端查询v$ar ...
- .net C# Chart控件的简单使用
1.拖控件Chart 到界面 2. 清除默认的序列 chart1.Series.Clear(); 3.生成一个序列,并添加到chart1中,序列可添加多个 Series s1 = new Se ...
- MySQL表的操作02
[1]设置非空约束(NOT NULL ,NK)--->>>目的是f防止某些字段中的内容为空 CREATE TABLE +table_name ( 属性名 数据类型 NOT N ...
- 【C语言】(指针) 将两个数排序
原理就不讲了,这里用来理解指针的使用方法 代码1: #include <stdio.h> int main() { int a, b;/* 实际变量的声明 */ int* p, * q;/ ...
- 每天进步一点点------时序分析基础与时钟约束实例(四)IO口时序(Input Delay /output Delay)
1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确 ...
- 每天进步一点点------SOPC的Avalon-MM IP核(四) KEY_LED IP定制
/********************************************************************************* * Company : * Eng ...
- Maven工程pom中定义jdk版本
今天把之前做的项目导进eclipse,然后发现报错,一些类在1.6中不支持,需要将JDK版本设置为1.7,我直接通过eclipse中的提示进行更改,然后update project一下,发现又回到了S ...
- Pascal 错误代码及含义
DOS 错误代码:1无效DoS功能号 2文件末找到 3路径未找到 4打开文件过多 5禁止文件存取 6无效文件句柄 12无效文件存取代码 15无效驱动器号 16不能删除当前日录 17不能跨驱动器改文件名 ...