原文地址:https://segmentfault.com/a/1190000018961750
很多人好奇网上关于php配置xdebug的教程那么多,为什么我还要写这篇文章?
因为我看了一下网上的教程配置很乱,有些配置项根本不需要,而且不够详细。
本教程主要应用于Windows,Mac和Linux基本上同理。
只配置Debug,不配置profiler和trace。
因为大多数情况下是单用户调试,所以不需要配置多用户参数,
如:php.ini 文件 xdebug.idekey 参数和 PhpStorm的Debug -> DBGp Proxy 。
所以大概配置如下:
zend_extension = php_xdebug.dll
xdebug.remote_enable = On
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9100
xdebug官网下载地址:https://xdebug.org/download.php
扩展一定要装对,注意区分ts和nts版本。推荐 phpEnv集成环境 ,自带xdebug扩展
打开PhpStorm,File -> Settings
然后找到 Languages & Frameworks -> PHP -> Debug
设置Debug port为9100
为什么不是9000?因为会和一些集成环境的php-cgi或者php-fpm端口冲突.

然后配置Languages & Frameworks -> PHP -> Servers
然后找到PhpStorm右上角电话图标,开始监听php debug的链接

打开 phpEnv集成环境 的 TCP端口进程列表,有9100 说明监听成功

触发PhpStorm的debug方式主要有两种
- GET、POST存在
XDEBUG_SESSION_START参数或者cookie里存在XDEBUG_SESSION,用户调试值随意。GET、POST会生成cookieXDEBUG_SESSION,有效期为1个小时(可修改配置)。很多教程需要下载chrome等浏览器插件,原理就是请求里附加cookie。 - php.ini 文件
xdebug.remote_autostart参数设置为 On 或者1,无需设置GET、POST、cookie。
个人推荐第1种,教大家用一种更简单的方式,不需要下载浏览器插件。
找到PhpStorm右上角

然后点小甲虫图标

会在你配置的url里,携带GET参数XDEBUG_SESSION_START,同时生成cookie XDEBUG_SESSION,也就是说,下次(cookie有效期1小时)无需点击小甲虫,浏览器直接输入,如 www.a.com 或 www.a.com/chat/1/ 即可触发调试

本文提供了一个简洁明了的Xdebug配置教程,适用于Windows、Mac和Linux环境,专注于Debug功能的配置,避免了不必要的复杂性和混乱。教程详细介绍了如何在php.ini中正确设置zend_extension、xdebug.remote_enable、xdebug.remote_host和xdebug.remote_port参数,以及如何在PhpStorm中进行相应的设置。
118

被折叠的 条评论
为什么被折叠?



