mac下phpstorm+Xdebug断点调试PHP

原文地址:http://blog.csdn.net/ty_hf/article/details/72081965

前言:

前边文章曾经介绍过载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.tgz

cd 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 = On

xdebug.remote_handler = dbgp

xdebug.remote_host= localhost

xdebug.remote_port = 9000

xdebug.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

猜你喜欢

转载自blog.csdn.net/liaobangxiang/article/details/81221448