前言
- 在我们开发的过程中我们肯定是会有一定的错误,当我们去查错的时候有很多的方法
- 可以使用断点的方法运行查看错误,也可也使用输出来一点点缩小范围
- 但是在 ThinkPHP 中并不可以直接就插入断点来查错,所以很多的 php 工程师觉得麻烦就不去安装使用 xdebug 的插件
- 在这里我们就一起来安装以及配置
所需工具/资料
- mac 10.13.3 (自带 php 所以会出现一定的问题)
- Xampp (小编使用的是集成开发的)
- ThinkPHP 5.0.7(版本自己喜欢都可以的)
- VS code 用来改文件
- https://xdebug.org/wizard.php xdebug 下载网址
开启 xdebug 之旅
1. 开启服务
- 开启 xampp
- 在 ThinkPHP 中 public/下新建 info.php 在里面加 phpinfo();
- http://localhost/zerg/public/info.php (zerg 是我项目名,查看 phpversion)
- 可以搜索 xdebug 看看有没有,php 是不自带的如果不是配置来都是没有的
2. 下载 xdebug
- 打开官网 https://xdebug.org/wizard.php
- 进入来官网直接就是下图这样的下载地方了
- 回到 info.php 的页面右键查看源代码 (进入了界面直接 全选复制)
- 把复制的代码放到刚才的框内,并点击 analyse my phpinfo()的那个按钮 就会自动的监测你的 php 版本需要用什么版本的 sdebug
- 就会得到下面图所显示的页面,点击红色框的部分下载包
3. 配置 xdebug
- 当我们下载好了后找到自己下载的位置 会有 xdebug-2.6.1.tgz 的压缩包
- 然后我们就跟着他给的步骤做,是什么步骤看上面下包的图
- 第一步:解压包 在终端进入到 文件的目录 sudo tar -xvzf xdebug-2.6.1.tgz 就可以解压
- 第二步:进入文件目录 cd xdebug-2.6.1
- 第三步:执行 phpize (一般没有安装 brew 和 autoconf 的都会出现下面的错误)
- 有错我们只好修复这个错误(是因为没有安装 autoconf 引发的)那我们就安装一下 - 安装 autoconf 需要用 brew 所以先安装 brew - ruby -e “\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -(使用上面的命令就可以安装了,如果不行就去http://brew.sh/官网看看吧) - 安装好我们安装 autoconf - brew install autoconf
- 第四步:继续执行 phpize
- 一般都是直接 sudo phpize (mac 系统这样做肯定报错如图,为什么呢因为多端 php,系统自带一个 xampp 带一个 brew 也会补一个,而且系统默认是抓取本地的 php 所以无论你着么配最后都没有效果)
- 面对这个坑我们不怕直接全路径安装就好
- sudo /Applications/XAMPP/xamppfiles/bin/phpize 这样就可以了
- 一般都是直接 sudo phpize (mac 系统这样做肯定报错如图,为什么呢因为多端 php,系统自带一个 xampp 带一个 brew 也会补一个,而且系统默认是抓取本地的 php 所以无论你着么配最后都没有效果)
- 第五步:执行 confoigure 吃了上一次的亏这一次不可以再吃了
- sudo ./configure –with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
- 第六步:这里按照图片的操作也可以,当然我是直接复制粘贴的,因为我被命令行伤透了心,找到当前目录下的 modules 文件夹,找到该文件夹下的 xdebug.so(想说爱你不容易啊),狠狠的复制。
- 第七步:把复制的粘贴(如果按照图片的做跳过这一步)
- /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
xdebug.so 探寻结束,开始配置 php.ini
到/Applications/XAMPP/xamppfiles/etc/php.ini 目录中找到 php.ini 然后打开,在最后面添加如下
1
2
3
4
5
6
7
8
9
10[xdebug]
zend_extension = /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_mode="req"
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.idekey="PhpStorm"
xdebug.profiler_enable = Off最后保存,然后重启 Apache 服务,重新输出 phpinfo()信息,然后搜索一下,发现如下内容即告成功。
4. 最后效果
后记
- 这只是本人的一些解决做法,如有侵权请通知删除