前言
刚进入后端的phper在开发调试时,习惯性的使用var_dump,echo等在代码中埋下调试信息的做法,这种做法虽然简单除暴,还不错,当时面对更加多的调试信息输出和单步调试时,总显得那么无力,同时还有可能把这些调试信息扔到正式环境中,输出了一些安全信息,安全很难得到保证。难么有没有什么更加方便的调式方式呢,xdebug就是今天我们要讲的了,该教程适用于thinkphp,laraval等php框架。
使用xdebug进行php断点调试
Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。
php 环境安装
这里我推荐大家在开发的过程中使用phpstudy,安装过程简单明了
php 环境变量设置
设置php过程中,如果我们使用的是phpstudy,我们要清楚phpstudy中选中的php版本是哪一个,如图我们正在使用的是php7.3.4nts版本
接下来我们把php配置到环境变量中,配置过程参考php包管理器composer的安装中的配置方式
下载xdebug
打开xdebug下载地址 选择和php对应的版本,我的php版本是7.3 非线程安全,因此选择如图
如需查看自己的php版本,可新建phpinfo.php,代码如下
<?phpecho phpinfo();
把phpinfo.php放置web根目录,浏览器输入localhost/phpinfo.php查看
php配置xdebug
- 将下载好的xdebug放置在对应php版本的ext文件夹下
php_xdebug-2.8.0beta1-7.3-vc15-nts-x86_64.dll
- 配置php.ini 打开对应php版本的根目录
D:phpstudy_proExtensionsphpphp7.3.4nts
用编辑器打开目录中的php.ini,文件最后添加如下代码
[xdebug]zend_extension = D:phpstudy_proExtensionsphpphp7.3.4ntsextphp_xdebug-2.8.0beta1-7.3-vc15-nts-x86_64.dllxdebug.auto_trace = On xdebug.show_exception_trace = On xdebug.remote_autostart = On xdebug.remote_enable = On xdebug.remote_host = 127.0.0.1 xdebug.remote_port = 9001 xdebug.remote_handler = dbgp xdebug.profiler_enable = on
切记把remote_port改为非9000,因为php-fpm默认使用9000端口,如果这里我们使用9000,就会出现php无法启动的问题。接下来保存重启nginx。
visual code配置xdebug
- 下载visual code
下载好后默认安装就好了
- 下载xdebug插件
- 配置settings.json
打开编辑器>文件>首选项>设置>点击右上角{}切换成代码模式,加如如下配置
{ # 其他settings设置 "php.validate.enable": true, "php.validate.executablePath": "D:phpstudy_proExtensionsphpphp7.3.4ntsphp.exe