当前位置: 首页 > 后端技术 > PHP

PhpStorm配置Xdebug最全最详细教程,100%成功!

时间:2023-03-29 15:35:44 PHP

前言很多人对网上关于php配置xdebug的教程很好奇,我为什么要写这篇文章?因为网上教程的配置很乱,很多都是复制粘贴的,有些配置项根本不需要,也没有说明原因,不够详细。本教程主要适用于Windows,Mac和Linux基本相同。配置xdebug扩展只配置Debug,不配置profiler和trace,profiler和trace的用途请自行百度。因为大部分情况都是单用户调试,所以不需要配置多用户参数,比如:php.ini文件xdebug.idekey参数和PhpStorm的Debug->DBGpProxy。所以php.ini大致配置如下:zend_extension=php_xdebug.dllxdebug.remote_enable=Onxdebug.remote_host=127.0.0.1xdebug.remote_port=9100xdebug官网下载地址:https://xdebug.org/download.php扩展必须安装正确,注意区分ts和nts版本,使用phpinfo()查看是否扩展成功。推荐phpEnv集成环境,自带xdebug扩展和多版本php设置PhpStorm打开PhpStorm,菜单File->Settings,然后找到Languages&Frameworks->PHP->Debug设置Debug端口为9100为什么不是9000?因为会和一些集成环境的php-cgi或者php-fpm端口冲突。然后配置Languages&Frameworks->PHP->Servers找到PhpStorm右上角的电话图标,开始监听php调试链接,打开phpEnv集成环境的TCP端口进程列表有9100端口,即监听成功触发断点调试,在你需要的代码处下断点。这是基础,是必须的,就不多介绍了。PhpStorm调试的触发方式主要有两种:GET、POST带XDEBUG_SESSION_START参数或者cookie带XDEBUG_SESSION,单用户调试值可选。GET和POST会生成cookieXDEBUG_SESSION,有效期1小时(php.ini配置可修改)。很多教程需要下载Xdebughelper等浏览器插件。原理是在请求中附加cookies。php.ini文件中xdebug.remote_autostart参数设置为On或1,不需要设置GET、POST、cookie。(不推荐,虽然不用设置参数,但设置是针对环境的,不是针对项目的,必须重启php环境)浏览器调试针对第一种,教你不用下载浏览器使用更简单的方法插件。找到PhpStorm右上角点击小甲虫图标,打开浏览器访问你的url,携带GET参数XDEBUG_SESSION_START,同时生成一个cookieXDEBUG_SESSION,也就是说下次(cookie是有效期1小时)不需要点击小甲虫,浏览器直接输入,比如www.a.com或者www.a.com/chat/1/触发调试Postman接口调试为第一种,Postman的触发方法可以直接添加到GET和POST参数中,如图。请求完成后会自动AppendcookieXDEBUG_SESSION,也可以手动添加cookieXDEBUG_SESSION。原创教程不易,转载请注明出处,如有问题请留言,谢谢!