一、影响因素

1、PHP版本与Xdebug版本是否兼容
2、配置改版,php.ini中字段是否是对的
3、命令行PHP编译版本是否正确
4、php.ini文件是否配置正确

我的环境:

PHP-命令行:7.4

集成环境:MAMP pro

集成环境跑业务的PHP:7.2.8

Xdebug:3.0.3、2.6.1 都试了

正常流程

1、进入 Xdebug 官网自动识别需要的版本:

网址:https://xdebug.org/wizard

一般会给出以下答案:
自动识别结果展示

但出于命令行的PHP版本可能会存在不一致,大家可以用

php -v

来查询命令行是啥版本,为了避免有差错,建议用业务版本php去运行 phpize、configure

以下是示例:

1、解压

tar -xf xdebug-2.7.2.tgz

2、切换到下级目录

cd xdebug-2.7.2

3、phpize

/Applications/MAMP/bin/php/php7.2.8/bin/phpize

4、configure

./configure --enable-xdebug --with-php-config=/Applications/MAMP/bin/php/php7.2.8/bin/php-config

5、编译

make

6、安装 - 这一步会向php扩展目录copy进xdebug.so

make install

7、配置php.ini

Xdebug 3.0之后做了配置项的名称变更,很多remote变味了client,示例如下可成功:

[Xdebug]
MAMP_Xdebug_MAMPzend_extension=/Applications/MAMP/bin/php/php7.2.8/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
xdebug.mode=debug
xdebug.client_host=localhost
xdebug.client_port=9000
xdebug.start_with_request=yes
xdebug.idekey=PHPSTORM

Xdebug 3.0之前,示例如下可成功:

[xdebug]
MAMP_Xdebug_MAMPzend_extension="/Applications/MAMP/bin/php/php7.2.8/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_autostart=1
xdebug.idekey = PHPSTORM

2、检查扩展是否安装成功?

可以用

/Applications/MAMP/bin/php/php7.2.8/bin/php -m

php -m 运行结果
来查询是否安装成功,当然phpinfo()也可以

3、配置IDE

配置phpstorm示意图
和配置的端口保持一致即可,勾选项如上所示

二、一些辅助工具

1、如何找到各个版本的Xdebug手动下载?

https://xdebug.org/download/historical

2、查看PHP兼容的Xdebug版本?

https://xdebug.org/docs/compat#versions

3、Mamp修改了配置无效,或者会自动恢复?

有保护机制,需要通过软件自带编辑去修改,找到菜单栏

File->Edit Template->php->【你的版本】

4、其他奇葩问题?

如果以上配置全都没问题,还是不行?可以试试在phpstorm点一下小蜘蛛进入调试一次,可能就是行了!!我这次就是这样的!很日怪

Last modification:March 17, 2021
如果觉得我的文章对你有用,请随意赞赏