前面先简单记录一下我解决问题的过程,正常的步骤请往下翻;事情的起因是:我想让PhpStorm能像Java开发工具那样在代码中断点调试,目前我了解到的解决方案有两种:Xdebug
和Zend Debug
,而我选择了Xdebug。
记录过程
在网上也搜索了一些教程,大部分说的还是使用brew安装 xdebug,从Homebrew官方仓库看到这部分内容已经不再维护了。

又尝试了搜索其他解决方法。在StackOverflow看到有人说要使用 pecl
方式安装;在之后的研究中也在xdebug官方文档中证实了这一点。

开始尝试了使用pecl来安装,但中间遇到了一些问题,大概是我现在系统默认的php版本是7.3.x(macOS Mojave 10.14.5系统),然后我使用brew在系统中分别安装了php@7.1
、php@7.2
和php@56
三个版本,再加上系统默认php,一共有4个版本,而我这次项目是使用php56版本进行开发调试,可能是在安装 pecl的过程中有一些目录没有配置明白,导致最后安装xdebug不成功。
最后我选择使用xdebug官方仓库的源码进行编译安装。下面是具体安装和配置过程:
安装配置
下载并编译xdebug源码
xdebug 和php版本是有对应关系的,我的php是5.6版本所以对应xdebug的版本应该是2.5
官方文档版本对应表:

A:直接下载源码:
https://github.com/xdebug/xdebug/archive/XDEBUG_2_5_5.zip
https://github.com/xdebug/xdebug/archive/XDEBUG_2_5_5.tar.gz
https://xdebug.org/files/xdebug-2.5.5.tgz
解压后进入 xdebug-2.5.5目录。
B:使用git下载xdebug源码
git clone git@github.com:xdebug/xdebug.git
cd xdebug
将git库切换到2.5 tag,当前2.5最新版本为2.5.5
git checkout XDEBUG_2_5_5
根据官方文档描述进行编译安装

1.在xdebug源码目录下执行phpize
命令。因为我要让php56支持xdebug,所以执行命令如下:
/usr/local/Cellar/php@5.6/5.6.40/bin/phpize
./configure --enable-xdebug --with-php-config=/usr/local/Cellar/php@5.6/5.6.40/bin/php-config
make clean
make
make install
看到这个提示,说明xdebug已经编译并安装成功。xdebug.so 已经被复制到php56的extensions对应文件夹下。

2.修改php.ini
文件,让php支持xdebug。
可以通过查看phpinfo()
方式找到对应php.inid的位置。

我是在conf.d文件夹下创建了一个新文件:ext-xdebug.ini
[xdebug]
zend_extension=xdebug.so
xdebug.idekey = PHPSTORM
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_handler = dbgp
xdebug.remote_connect_back = 1
xdebug.remote_host = localhost
xdebug.remote_port = 9001
xdebug.scream = 0
xdebug.show_local_vars = 1
这里的xdebug.remote_port
写一个没有被占用的端口即可;保存文件后重启php服务:
brew services restart php@5.6
查看xdebug是否正常运行。
/usr/local/Cellar/php@5.6/5.6.40/bin/php --version
出现xdebug版本,说明已经安装成功。

PhpStorm配置xdebug
1.配置php版本和CLI
PhpStorm -> Preferences -> Languages & Frameworks -> PHP
CLI interpreter 需要手动选择路径:/usr/local/Cellar/php@5.6/5.6.40/bin/php

2.配置xdebug端口
PhpStorm -> Preferences -> Languages & Frameworks -> PHP -> Debug
这里填写的端口号是对应前面xdebug在php扩展中配置的xdebug.remote_port

3.DBGp代理配置
PhpStorm -> Preferences -> Languages & Frameworks -> PHP -> Debug -> DBGp Proxy

4.新建Servers
PhpStorm -> Preferences -> Languages & Frameworks -> PHP -> Servers

最后的最后几的打开调试监听。

完!