MAC下phpstrom使用xdebug调试

本文介绍如何通过配置MAMP、Xdebug及PHPStorm实现PHP断点调试。适用于MACOS环境下,利用Xdebug扩展及PHPStorm IDE,通过设置断点、监听端口等方式,实现在复杂逻辑下的高效调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OK~其实很多的PHPer觉得PHP这样的语言特性,在调试或者打印的时候 print_r(),echo,var_dump 等就可以了,但一旦要是涉及的更复杂的逻辑或者需要打印更多的变量时就会变得极为低效.这时候你就会羡慕像JAVA或者C# 那样可以断点调试的功能了,那么PHP可以实现断点调试吗?答案是肯定的.那么 这篇博客就是分享我今天使用PHP Xdebug 实现断点调试的小小经验. 有说的不对的或者不明白希望大家提出一起学习一起讨论.

我的配置环境?
1:PHPSTORM (PHP的IED)
2:MAC OS 
3: MAMP (包含 Xdebug )
4:PHP(MAC系统自带)

第一步:(下载安装MAMP集成环境)
MAMP集成环境下载地址   https://www.mamp.info
安装完软件图标 MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试

第二步:(修改php.ini让PHP支持Xdebug)
由于我使用的是 MAC系统自带的PHP 所以我的php.ini在   cd   /private/etc   这个目录下(因人而异只要找到你的php.ini配置文件即可)  
在终端模式下使用vim打开  sudo vim php.ini到最后一行 
MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试
添加如下几行配置:
[xdebug] 
zend_extension="/Applications/MAMP/bin/php/php5.5.26/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so" 
xdebug.remote_enable=on 
xdebug.idekey="PHPSTORM" 
xdebug.remote_handler="dbgp" 
xdebug.remote_mode="req" 
xdebug.max_nesting_level=600

MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试


那么 zend_extension就是指向Xdebug的扩展 我的目录就是安装了MAMP以后软件自带的Xdebug扩展,
xdebug.idekey="PHPSTORM"  则是指向了你的PHPSTORM IDE  这样你的PHPSTORM就可以捕获到这个断点事件了.

第三步:(配置你的PHPSTORM)
打开PHPStorm  command + ,  就可以打开设置界面  找到PHP一栏 让你的IDE 和你的PHP绑定起来.
由于我使用的是MAC系统自带PHP  所以我的PHP路径是/usr/bin/php(路径因人而异指向你自己的PHP即可)
MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试

MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试

接下来我们需要让PHPStorm开启Xdebug监听
找到PHP => Debug 将 Debug port: 设置为9000 如果你的9000端口被占用 你也可以改为9001,9002等 当然如果你改了端口   需要在php.ini里加一行  xdebug.remote_port = 9001  这样才能对应上Xdebug的监听端口. 至于localhost我使用9999端口是个人喜好.你们写自己的端口号即可

MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试

MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试

MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试


  OK 完成以上装备工作 你的Xdebug就已经配置完了.接下来让我们运行起来这个断点调试!
最后一步:(RUN DEBUG)
找到 PHPStorm RUN=>Start Listening for PHP Debug Connections(打开以后你的PHPStorm就会开始监听PHP了)

    MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试

接下来在代码里设置断点(比如你想在某一行查看它的变量值)

MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试


打开POSTMAN(谷歌浏览器的一个扩展工具可以用来模拟POST,GET等请求)

注意!
在你所请求的API参数中加入一个   XDEBUG_SESSION_START =  PHPSTORM 这是为了告知 你的请求需要触发断点调试
MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试

send 以后 一旦触发了Xdebug   你就会被跳转回 你的PHPStorm IDE中
MAC+XDEBUG+PHPSTORM+POSTMAN <wbr>PHP实现断点调试


OK   这样你就可以随心所欲一步一步调试代码了.是不是很酷!哈哈哈哈
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值