ThinkPHP xdebug安装以及报错处理

前言

  • 在我们开发的过程中我们肯定是会有一定的错误,当我们去查错的时候有很多的方法
  • 可以使用断点的方法运行查看错误,也可也使用输出来一点点缩小范围
  • 但是在 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();
    tp1
  • http://localhost/zerg/public/info.php (zerg 是我项目名,查看 phpversion)
    tp3
  • 可以搜索 xdebug 看看有没有,php 是不自带的如果不是配置来都是没有的

2. 下载 xdebug

  • 打开官网 https://xdebug.org/wizard.php
  • 进入来官网直接就是下图这样的下载地方了
    tp2
  • 回到 info.php 的页面右键查看源代码 (进入了界面直接 全选复制)
    tp4
  • 把复制的代码放到刚才的框内,并点击 analyse my phpinfo()的那个按钮 就会自动的监测你的 php 版本需要用什么版本的 sdebug
    tp5
  • 就会得到下面图所显示的页面,点击红色框的部分下载包
    tp6

3. 配置 xdebug

  • 当我们下载好了后找到自己下载的位置 会有 xdebug-2.6.1.tgz 的压缩包
  • 然后我们就跟着他给的步骤做,是什么步骤看上面下包的图
  • 第一步:解压包 在终端进入到 文件的目录 sudo tar -xvzf xdebug-2.6.1.tgz 就可以解压
  • 第二步:进入文件目录 cd xdebug-2.6.1
  • 第三步:执行 phpize (一般没有安装 brew 和 autoconf 的都会出现下面的错误)
    tp8 - 有错我们只好修复这个错误(是因为没有安装 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 所以无论你着么配最后都没有效果)
      tp7
    • 面对这个坑我们不怕直接全路径安装就好
    • sudo /Applications/XAMPP/xamppfiles/bin/phpize 这样就可以了
  • 第五步:执行 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. 最后效果

tp

后记

  • 这只是本人的一些解决做法,如有侵权请通知删除
-------------本文结束感谢您的阅读-------------
0%