安装XDebug
安装就不细说了,攻略很多,这里主要讲配置。
安装攻略:源码安装 xdebug,并在 vscode 中配置
php.ini配置:
注释掉的都可以不要
zend_extension=xdebug.so
; xdebug 的远程连接开关,必须开,关了就不发消息给IDE。
xdebug.remote_enable=1
; 当此设置设置为1时,即使不存在GET/POST/COOKIE变量,Xdebug也会始终尝试启动远程调试会话并尝试连接到客户端。
; phpstorm开启调试时,会带上一个XDEBUG的cookie,所以不需要开启,节约资源。sublime,vscode等ide需要开启此项
; xdebug.remote_autostart=1
; 这个配置是2.9版之前的。我装的2.9,配了没用。phpstorm里也不需要配。
; xdebug.remote_handler=dbgp
; 设为req,脚本启动马上连接IDE;设为jit,出现错误时才连接。默认就是req,所以不用配。
; xdebug.remote_mode=req
; 客户端的地址,装IDE的电脑IP。(此项与 xdebug.remote_connect_back 2选1就行了)
; xdebug.remote_host=10.0.31.208
; 自动找IDE的地址,配置了这一项,xdebug.remote_host 会被忽略。更灵活,换了IP不用改配置。
xdebug.remote_connect_back=1
; 客户端IDE的通信端口,连不上可能会被windows的防火墙挡住
xdebug.remote_port=9100
; IDE密钥,不配置,就会给个默认值。配了就优先给这里。很多攻略强调了这个配置,实际可以不配。
; xdebug.idekey=PHPSTORM
; 用来跟踪PHP的 auto_prepend_file 的代码。不需要。
; xdebug.auto_trace=1
; 通信日志文件
xdebug.remote_log=/tmp/xdebug_php72.log
参数详细说明
PhpStorm的配置
第一步:File | Settings | Languages & Frameworks | PHP | Debug
端口写php.ini里的xdebug.remote_port的值。
第二步:File | Settings | Languages & Frameworks | PHP | Servers
Name随便填写,后面会用到。
Host填写服务端地址,后面照着填
勾选Use Path mappings,这是重点!表示本地代码和远程代码路径映射,左边是本地路径,右边是远程路径。
第三步:Run | Edit Configurations
添加一个 PHP Web Page,然后配置Server、Start Url、Browser。
Server选择第二步添加的Server Name。
Start URL填写调试网址。
Browser选一个默认浏览器。
第四步:没了
网上很多攻略说,这里要配IDE key,但我这里空着也没事,Port也是乱写的。
调试
运行debug,只需要右上角选择刚刚添加的PHP Web Page Name,点击甲虫按钮。
然后打上断点开始快乐的调试吧!
这里说一下调试方法,以及基本概念:
Resume Program,跳到下一个个断点;
Step Over,单步执行,不进子函数;
Step Into,单步执行,进入子函数;
Force Step Into,单步执行,进入系统函数;
Stop Out,跳出子函数;
Run to Cursor,运行到光标所在的行;