MacOS Big Sur环境下安装xdebug报make failed错误如何解决
问题原因
这个'asm goto' constructs are not supported yet报错是MacOS Big Sur自带的Xcode/Command Line Tools 12+版本的默认clang编译器,与PHP 7.4.x版本源码中Zend底层用到的asm goto语法兼容问题导致的,不属于xdebug本身的bug。
解决方案
方法一:指定低兼容编译参数安装(最便捷)
- 先卸载之前安装失败的残留xdebug(如果有的话):
pecl uninstall xdebug - 执行带编译参数的安装命令,强制关闭asm goto特性:
CFLAGS="-O0 -Dasm=goto" pecl install xdebug-3.1.6
注意:PHP7.4最高支持xdebug 3.1.x版本,不要装3.2及以上版本,否则会出现版本兼容错误
如果是手动编译源码的话,执行configure之前先设置环境变量即可:
export CFLAGS="-O0 -Dasm=goto" ./configure make && make install
方法二:切换gcc编译器编译(备用方案)
如果方法一无效,可以通过homebrew安装gcc编译器,切换编译器后再安装xdebug:
- 安装gcc:
brew install gcc@11 - 临时指定编译器为gcc后执行安装:
export CC=/usr/local/bin/gcc-11 export CXX=/usr/local/bin/g++-11 pecl install xdebug-3.1.6
验证安装
安装完成后执行php -v,如果输出中包含Xdebug字样说明安装成功,之后可以在php.ini中配置xdebug相关参数即可正常使用。
内容的提问来源于stack exchange,提问作者Dorian Winterfeld
相关产品推荐
相关产品推荐

