MacOS + PhpStorm + Xdebug 调试

/ 0评 / 2

前面先简单记录一下我解决问题的过程,正常的步骤请往下翻;事情的起因是:我想让PhpStorm能像Java开发工具那样在代码中断点调试,目前我了解到的解决方案有两种:XdebugZend Debug,而我选择了Xdebug。

记录过程

在网上也搜索了一些教程,大部分说的还是使用brew安装 xdebug,从Homebrew官方仓库看到这部分内容已经不再维护了。

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

开始尝试了使用pecl来安装,但中间遇到了一些问题,大概是我现在系统默认的php版本是7.3.x(macOS Mojave 10.14.5系统),然后我使用brew在系统中分别安装了php@7.1php@7.2php@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

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

完!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注