Mac下XAMPP+PhpStorm中集成xdebug

在使用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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容