美文网首页
Mac下XAMPP+PhpStorm中集成xdebug

Mac下XAMPP+PhpStorm中集成xdebug

作者: Bean_Do | 来源:发表于2017-11-23 09:27 被阅读0次

    在使用PhpStorm调试程序中,自然而然的会使用的到断点调试,本文以此叙述如何在PhpStorm中使用断点调试功能,另外,由于笔者也是刚开始接触php,所以很多地方只是知其然而不知其所以然,如有不准确的地方,请不吝赐教。

    如果大家有其他编程语言经验,自然对断点调试(断点调试是什么)应该比较清楚,在PhpStorm中断点调试亦是如此,不同的是也许在其他IDE中断点调试已经集成好了,而在此需要手动集成。


    image.png

    言归正传,我们假定大家都已经安装好了XAMPP和PhpStorm,Apache也起来了,网页也能正常访问🐻

    首先,请大家先去phpinfo()的输出信息中查看一下能不能找到xdebug的内容,如果能,那么这一步直接跳过,否则,继续来吧。

    • 首先,下载xdebug调试的核心文件xdebug.so
      注意:请先检查/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so下是否已有xdebug.so文件,如果有,那么就可以直接跳到这一步最后的php.ini配置那里呦(2016啥啥的大家可能不一样,就是这么个样子的文件)。
      因为xdebug.so要与我们当前的php版本相对应,所以建议大家手动编译一个,ok,我们开始探索如何搞到xdebug.so。
      点我去官网搞一个xdebug.so
      点击上边的链接,去查询适配的xdebug版本,打开后看起来是这样子的
      image.png
      第一步的信息来源于phpinfo()中的内容,直接选中拷贝过来就行,如下图所示:
      image.png
      截图不完整,大家从一开始就选中一直到第一部分php的介绍结束为止。
      当大家把信息粘贴过去之后,然后点击第二步的按钮,就会为你生成一个分析及获取界面,就像下边一样:
      image.png
      上图是关键的一步,按照这个流程走完即可获得xdebug.so文件,然而不幸的是我们总会踩到坑,当然,我希望大家能平平安安的顺利获得。
      第1步,下载,没啥好说的,点击下载就好了。
      第2步,在终端切到下载文件所在目录,执行tar -xvzf xdebug-2.5.4.tgz,应该也不会遇到问题,反正我没遇到😁。
      第3步,切到解压后的目录,no problem,go on!
      第4步,可能会遇到第一个坑,不过不要紧,这些坑都是连着的,后面还有一堆坑😂。在终端输入phpize后完事儿~
      image.png
      到这尴尬了,因为这里是调用的默认用户目录下的phpize,而我们是基于xampp中的php进行的操作,所以这里我们要使用绝对路径来操作,大家仔细翻看一下xampp的目录大概就能找到php的位置,/Applications/XAMPP/xamppfiles/bin/phpize这是我的位置,大家参考,应该是一样的,在终端中执行该命令,运气好这一关就过了,然而总有运气不好的时候,就像下边一样:
      image.png
      好吧,没有autoconf,没办法,开始装autoconf吧,要想装autoconf,就要先装brew,当然,如果你已经有了,那就省事了,我们假设没有,那么首先就要在终端执行:
      ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      (如果以上链接失效的话,可以到brew官网查看。http://brew.sh/)
      等待brew安装好了之后,继续执行:
      brew install autoconf
      完事之后继续执行我们的/Applications/XAMPP/xamppfiles/bin/phpize这下终于完成这一步了。
      第5步,继续使用绝对路径来编译,当然,如果上一步没踩坑的同学要按照图上的步骤来。踩着坑的同学跟着我输入:
      ./configure --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config
      注意后面的路径,要跟自己的实际路径一样
      到这一步,这一波坑终于过去了,前途是光明的😘。
      第6步,在终端输入make,嗯,老铁,没毛病。
      第7步:这里按照图片的操作也可以,当然我是直接复制粘贴的,因为我被命令行伤透了心,找到当前目录下的modules文件夹,找到该文件夹下的xdebug.so(想说爱你不容易啊),狠狠的复制。
      第8步,把这个东西粘贴到/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so这里来。
      ⬇️
      xdebug.so探寻结束,开始配置php.ini
      /Applications/XAMPP/xamppfiles/etc/php.ini目录中找到php.ini然后打开,在最后面添加如下
    [xdebug]
    zend_extension=/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20160303/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()信息,然后搜索一下,发现如下内容即告成功。


    image.png
    • 在PhpStorm中进行配置
      command+,打开PhpStorm的配置列表。
      首先,打开Language&Framework下的Debug,然后如图配置,这里的端口要和php.ini 里的 xdebug.remote_port 保持一致。
      image.png
      接下来配置DBGp Proxy, port要和你的Apache端口一致。
      image.png
      然后是servers的配置,没有的同学可以点击+号创建一个,Host和Port根据你的实际情况来设置,我这里用的本地环境,大家也可以用测试环境。
      image.png
      接下来在调试页创建一个web application
      image.png
      填写必要的信息,保存后,最后打开电话监听的标志,就可以在网页中触发断点调试了。
      image.png

    最后,每一个过程都是一个不同的经历,希望大家能够顺利的完成操作,但是一但遇到不一样的突发情况,也希望大家能够静下心来,思索问题的解决办法,以上是我的操作过程,希望对大家有所帮助。

    相关文章

      网友评论

          本文标题:Mac下XAMPP+PhpStorm中集成xdebug

          本文链接:https://www.haomeiwen.com/subject/tdrovxtx.html