mac下phpstorm+Xdebug断点调试PHP

来源:互联网 发布:java代码生成器推荐 编辑:程序博客网 时间:2024/05/16 06:35
前言:
前边文章曾经介绍过载windows下php的debug(phpstorm+Xdebug断点调试PHP) ,mac下的配置流程是一模一样的,但是却碰到了各种波折也是够累的,碰到的坑现总结如下(其实二月份就写了一直没发),现在和大家分享出来。
步骤流程
. 下载并安装自己php版本对应的xdebug
二. 进行配置文件的一致修改,包括php.ini 与phpstorm配置,chrome的xdebug配置
三. 在程序中打断点,点击“臭虫”进行debug吧。

一.下载xdebug文件
1.将phpinfo();的信息全部输入网址中的框,得到适配的xdebug版本:
网址:http://xdebug.org/wizard.php
2.下载并解压
(自己知道版本的,不用上一步直接去下载,网址:http://www.xdebug.org/download.php)
wget [下载地址] //如果不能使用wget,运行:[brew install wget];
sudo tar -zxvf xdebug-2.5.0.tgzcd xdebug xdebug-2.5.0
3.编译完成得到xdebug.so
phpize./configure --enable-xdebug --with-php-config=/usr/bin/php-config   (正确配置php-config的路径)make
4.把/xdebug-2.5.0/modules/里的xdebug.so文件移动到php扩展里
sudo find / -name xdebug.so  //找到原来xdebug.so文件存放地址
得到存放.so配置文件的地址 /usr/lib/php/extensions/no-debug-non-zts-20131226
5.复制过去
cp /xdebug-2.5.0/modules/xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20131226
6.重启apache
sudo apachectl restart
小插曲:
上边第五步复制移动的时候,失败了

提示:cp: /usr/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so: Operation not permitted
原来是OSX 10.11 El Capitan(或更高)新添加了一个新的安全机制叫系统完整性保护System Integrity Protection (SIP),
所以对于目录/System /sbin /usr(不包含(/usr/local/)不能修改
得把它关掉才行,步骤:
a.重启电脑
b.按住Command + R   (重新亮屏之后就开始按,出现苹果标志,ok)
c.菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;
执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
d.再次重启系统




重启后,重复上边的步骤,再来一次
cp /xdebug-2.5.0/modules/xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20131226

成功移动。

二. 相关文件的配置流程
1.配置php.ini
sudo vi /private/etc/php.ini
[xdebug]zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"xdebug.remote_enable = Onxdebug.remote_handler = dbgp   xdebug.remote_host= localhostxdebug.remote_port = 9000xdebug.idekey = PHPSTORM

sudo apachectl resrart //重启apache
查看phpinfo() 搜索xdebug看到了你下载的对应版本,说明安装成功。
查看phpinfo(); 显示安装和成功



2.配置phpstorm
  • 进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认
  • 进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80
可参考 -phpstorm+Xdebug断点调试PHPhttp://blog.csdn.net/ty_hf/article/details/50768702
3.配置chrome的xdebug
a.安装chrome的debug
下载地址http://download.csdn.net/detail/ty_hf/9762139
下载完拖入浏览器即可。
(或者越狱去chrome商店下载,搜索 xdebug,下载,安装)
https://chrome.google.com/webstore/search/xdebug?hl=zh-CN

b.运行


三.断点测试
这里不再赘述,详情可以参考windows下的调试过程:
phpstorm+Xdebug断点调试PHPhttp://blog.csdn.net/ty_hf/article/details/50768702
1.

2.

3.


四。碰到的坑
故事小插曲,博主再调试过程中碰到的坑:
问题1:所有安装全部都正确,但就是无法xdebug,为何?
原来调试过windows下的xdebug,其实流程是一毛一样的,只是在php.ini设置那一步不一样,要指向dll变成.so文件,换操作系统的嘛大家都懂,但是就是死活调不通。
原因:自带xdebug.so版本不对,mac自带xdebug.so 为2.3版本(phpinfo中看),请安装上文提到的检测出来的版本对应的xdebug.so,我的是2。5的版本
问题2.:谷歌浏览器的xdebug插件死活启动不了,是灰色的。
alt+shift+x 启动它,但是不亮,后来经过测试,是因为我端口用了9100,别想太多了,乖乖先用9000就好了
问题3.:编译新版xdebug后移动xdebug.so失败
提示:Operation not permitted
原因:mac os的自我保护机制,把sip保护关掉。
五.相关文章:
phpstorm+Xdebug断点调试PHPhttp://blog.csdn.net/ty_hf/article/details/50768702
mac os如何关闭sip保护机制:http://blog.csdn.net/qq285744011/article/details/52810066
断点调试环境的配置http://www.tuicool.com/articles/aiE322z
本文地址:http://blog.csdn.net/ty_hf/article/details/72081965
1 0
原创粉丝点击