共计 1064 个字符,预计需要花费 3 分钟才能阅读完成。
很多人好奇网上关于 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/ 即可触发调试