对于简单的项目或仅仅想知道某一位置的某个变量是什么值,直接使用var_dump配置exit来打印和中断就可以了,方便又快捷,
而对于大型项目的调试,或想了解某个系统的整个运行过程,xdebug可能会是更好的选择。
需要一下步骤:
1.vscode 安装 php debug扩展
2.本地php环境安装xdebug扩展
首先可以检查是否已经安装了php xdebug扩展,利用phpinfo()信息查看xdebug安装情况(大神略过);
具体步骤:服务器跟目录创建一个test.php内容输出phpinfo()
test.php
<?php
echo phpinfo();
运行访问http://你的服务器地址:端口/test.php 输出如下信息
这里为了方便,我用了现成的项目改了下,直接打印phpinfo()信息如下;
右键查看源码,Ctr+A(全选) Ctr+C(复制)
打开网址 https://xdebug.org/wizard 。目的检查php安装扩展情况
把复制的源码直接贴入输入框内,入下:
点击按钮开始检查。
最后输出结果意见:
解释:输出结果中,1.可以直接下载要安装的xdebug扩展dll文件。
同时根据phpinfo信息自动给出了配置建议。我的php路径是D:\BtSoft\php\71\下 打开 php.ini
配置增加内容如下:
xdebug.remote_enable = 1
xdebug.remote_autostart=1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
zend_extension=ext\php_xdebug-2.9.8-7.1-vc14-nts-x86_64.dll
xdebug.remote_host 解释:这里是你 vscode 启动 debug 服务的地址 ,本地就127.0.0.1,如果是调试远程,需要在远程服务器php.ini中配置成你 本地vscode编译器的IP, 可以利用花生壳等网络映射工具来映射到本地,这里不做详细说明,简单百度。
这样第二步配置好了
3.php.ini中增加配置项
xdebug.remote_enable = 1
xdebug.remote_autostart=1
这步,其实第二步已经我已经加了,没加的加上。
至此配置已经ok,下来回到vscode
接下来在想打断点的地方打上断点就ok了 ,刷新页面,就触发debug.