Symfony环境下PhpStorm配置Xdebug后不生效,php -v检测不到扩展
Xdebug 未加载排查步骤
- 确认命令行php路径是否和MAMP的php一致:你当前配置的是MAMP集成环境里的php7.4.2的xdebug扩展,终端执行
which php查看输出,如果不是/Applications/MAMP/bin/php/php7.4.2/bin/php,说明终端默认调用的是系统自带的php,自然不会加载MAMP php里的xdebug配置。如果是这个问题,需要在shell配置文件(.zshrc/.bashrc等)里添加MAMP php的路径到PATH环境变量。 - 确认xdebug.so文件存在:执行
ls /Applications/MAMP/bin/php/php7.4.2/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so,如果输出文件不存在,说明你下载的xdebug版本和当前php版本、线程安全模式不匹配,需要重新编译或下载对应版本的xdebug扩展文件。 - 检查php.ini加载路径是否正确:执行
php --ini查看输出的Loaded Configuration File路径,确认是不是你修改的那个MAMP对应php版本的php.ini文件,改错配置文件是非常常见的配置不生效原因。 - 检查配置兼容性:你当前的配置同时存在Xdebug2的
xdebug.remote_enable、xdebug.remote_host等参数和Xdebug3的xdebug.mode、xdebug.client_port参数,如果你的xdebug扩展版本是2.x,不识别xdebug.mode参数;如果是3.x版本,xdebug.remote_enable这类旧参数会被忽略,建议根据你安装的xdebug版本统一配置参数:- Xdebug3版本推荐配置:
[xdebug] zend_extension="/Applications/MAMP/bin/php/php7.4.2/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so" xdebug.mode=debug xdebug.client_host=127.0.0.1 xdebug.client_port=9003 xdebug.start_with_request=yes - Xdebug2版本推荐配置:
[xdebug] zend_extension="/Applications/MAMP/bin/php/php7.4.2/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so" xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_autostart=1
- Xdebug3版本推荐配置:
- 排查php启动错误:执行
php -m查看模块列表,同时看输出开头有没有报错信息,如果有xdebug相关的报错,根据报错信息调整扩展路径或者配置参数即可。
内容的提问来源于stack exchange,提问作者still learning
相关产品推荐
相关产品推荐

