phpstorm配置xdebug
一、php配置
1:设置测试网站(域名:www.aaa.com;端口:80)
2:php开启xdebug(不要用phpstudy或者其他集成环境直接开启扩展,因为版本可能对应不上,会造成后面很多错误)
a:www.aaa.com下打印phpinfo();然后鼠标右键查看网页源代码,复制全部源代码
b:打开https://xdebug.org/wizard,将复制的源代码放到框中并点击【Analyse my phpinfo() output】按钮,查看结果页
c:下载结果页中的php_xdebug-xxxxxx.dll;放到结果页指定路径中,并打开结果页显示的php.ini,根据版本添加参数
d:在php.ini中添加下列参数(版本为xdebug2)
zend_extension=这是你下载的dll文件存放的路径,phpinfo()检测结果页有背景颜色的那一段
xdebug.remote_enable=On
xdebug.remote_autostart=1
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.idekey=PHPSTORM
//参数详解(供了解)
xdebug.auto_trace
自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。
xdebug.collect_params
将函数调用的参数值列入函数过程调用的监测信息中
xdebug.collect_return
将函数的返回值列入函数过程调用的监测信息中
xdebug.profiler_enable
打开xdebug的性能分析器,以文件形式存储
xdebug.remote_enable
是否开启调试
xdebug.remote_autostart
自动开启调试
xdebug.remote_host
客户端的ip<即IDE的机器的ip,不是你的web server>
xdebug.remote_port
客户端的端口
xdebug.remote_handler
调试协议
xdebug.remote_connect_back
适合多人开发调试使用,开启后开发机器ip会根据请求自动判断
xdebug.idekey
记住,IDE和浏览器配置会用到
e:在php.ini中添加下列参数(版本为xdebug3)
zend_extension=这是你下载的dll文件存放的路径,phpinfo()检测结果页有背景颜色的那一段
xdebug.mode=debug
xdebug.start_with_request=default
xdebug.client_host=localhost
xdebug.client_port=9001
xdebug.remote_handler=dbgp
xdebug.idekey=PHPSTORM
//参数详解(供了解)
xdebug.output_dir
日志路径
xdebug.mode
控制启用哪些Xdebug功能,值介绍:
off:关闭
develop:启用包括重载的var_dump()在内的开发帮助
coverage:启用代码覆盖率分析以生成代码覆盖率报告,主要是结合使用PHPUnit
debug:启用步骤调试。可用于在代码运行时逐步检查代码,并分析变量的值
gcstats:使垃圾收集统计信息能够收集有关PHP的垃圾收集机制的统计信息
profile:启用性能分析,可以使用它通过KCacheGrind之类的工具分析性能瓶颈
trace:启用“函数跟踪”功能,该功能使您可以记录每个函数调用,包括参数,变量分配以及在对文件的请求期间进行的返回值
xdebug.start_with_request
在PHP请求的开始被激活,值介绍:
yes:该功能在PHP请求启动时以及运行任何PHP代码之前启动
no:请求开始时,该功能未激活
trigger:仅当请求开始时存在特定触发器时,才激活该功能
default:值取决于xdebug.mode (debug:trigger;gcstats:
)no;profile:
yes;trace:
trigger
xdebug.client_host
客户端的ip<即IDE的机器的ip,不是你的web server>
xdebug.client_port
客户端的端口(默认9003)
xdebug.remote_handler
调试协议
xdebug.collect_params = 0
将函数调用的参数值列入函数过程调用的监测信息中
xdebug.collect_return
将函数的返回值列入函数过程调用的监测信息中
xdebug.idekey
记住,IDE和浏览器配置会用到
注:
1)要配置正在使用的php版本
2)端口号不要与其他服务冲突,可以在phpstudy面板中检测(设置=》系统设置=》端口检测)
3)不要用phpstudy或者其他集成环境直接开启扩展,因为版本可能对应不上,会造成后面很多错误
3:重启phpstudy,打印phpinfo()
注:xdebug2版本xdebug.remote_enable看看是不是On;xdebug3版本看xdebug.mode参数
二:phpstorm设置
1:进入项目,打开【文件】=》【设置】
2:打开【语言和框架】=》【PHP】;选择php版本和解释器(可点击后面的三个点按钮选择你的php.exe文件),点【应用】
3:在【语言和框架】=》【PHP】=》【调试】中设置端口号,就是你xdebug设置的那个端口号,点【应用】
4:在【语言和框架】=》【PHP】=》【调试】=》【DBGp代理】中设置信息
注:【IDE键】是你php.ini中的xdebug.idekey,【主机】是你的主机ip,【端口】是你的监听端口
5:点击IDE右上角的【添加配置】,然后在弹出的窗口中点击【+】=》【PHP Web 页面】编辑内容
注:没有服务器选项可点击后面的【...】按钮添加服务器,示例在下图,【起始url】是你项目入口页,【浏览器】我选的谷歌,写好后可点击验证查看是否正确,示例在下面,没问题就【应用】【确定】
注:【名称】随便定义,【主机】就是开始设置的域名,【端口】是你设置的域名对应的端口号【调试器】选择Xdebug,然后【应用】【确定】返回上级填写
注:【创建验证脚本的路径】填写你的项目路径,例如tp5项目域名后面还要加上\public,点击【验证】,都是√就可以了
三:测试
1:根目录下创建index.php,输入代码,框架的话就在默认控制器方法内写
2:点击开启监听(图中为开启状态),点击要调试行的行号后面的空白设置调试行(有红点的为调试行),点击调试
3:查看调试结果
四:浏览器
由于每次要调试都需要从phpstorm里点击调试,然后去要调试的页面开始调试,很麻烦,所以这就需要给浏览器装上扩展程序,然后直接浏览器打开就可以,下面介绍用谷歌开启xdebug的方法
1:下载扩展程序Xdebug helper
链接:https://pan.baidu.com/s/1hzC1f1YLp3ZL520jys2SMQ
提取码:zxcv
2:打开chrome的扩展程序页面,将下载的文件拖动到chrome扩展程序页面(如果不能安装看第三步)
3:加载扩展程序的其他方式
a:更改下载文件的后缀名为rar
b:将更改后的文件解压到一个目录
c:打开扩展程序页面右上角的开发者模式
d:点击刚出现的【加载已解压的扩展程序】按钮
e:选择刚解压的那个文件夹,点击选择文件夹
4:设置扩展程序
a:点击扩展程序上的详细信息按钮
b:设置网站,嫌麻烦就直接选择在所有网站上
c:点击【扩展程序选项】
d:设置IDE key 为PhpStorm,点击save
e:浏览器打开网站,点击插件图标,选择Debug
5:测试
phpstorm打开项目,chrome在开启插件Debug的情况下访问项目,就可以在phpstorm里查看debug信息了