Mac升级Big Sur 11.7.8后运行PHP 8.x报错:libjxl.0.7.dylib未加载
解决MacBook Big Sur 11.7.8下PHP 8.x运行时libjxl.0.7.dylib缺失问题
方法一:安装指定版本的jpeg-xl依赖
错误提示找不到libjxl.0.7.dylib,说明当前brew安装的jpeg-xl版本过高,和libavif依赖的版本不匹配,可通过以下步骤安装兼容版本:
- 卸载当前的jpeg-xl:
brew uninstall --force jpeg-xl - 使用brew extract工具提取0.7版本的jpeg-xl到自定义tap:
brew extract --version=0.7 jpeg-xl homebrew/cask-versions - 安装提取的指定版本:
brew install jpeg-xl@0.7 - 执行
brew pin jpeg-xl@0.7锁定版本,避免后续升级导致版本不兼容。
方法二:修改libavif的依赖库路径
如果已安装最新版本的jpeg-xl,可通过修改libavif的依赖指向,让它使用现有版本的库:
- 查看libavif当前的依赖情况:
otool -L /usr/local/opt/libavif/lib/libavif.15.dylib - 找到当前jpeg-xl的库路径,通常为
/usr/local/opt/jpeg-xl/lib/libjxl.dylib - 修改libavif的依赖指向:
sudo install_name_tool -change /usr/local/opt/jpeg-xl/lib/libjxl.0.7.dylib /usr/local/opt/jpeg-xl/lib/libjxl.dylib /usr/local/opt/libavif/lib/libavif.15.dylib - 再次执行第一步的命令验证修改是否成功,确认依赖路径已更新为当前安装的jxl库路径。
方法三:完全清理并重新编译安装
如果前两种方法无效,可彻底清理相关包后从源码编译适配Big Sur的版本:
- 卸载所有相关组件:
brew uninstall --force php@8.0 php@8.1 php@8.2 libavif jpeg-xl - 清理brew缓存和残留文件:
brew cleanup -s rm -rf /usr/local/var/homebrew/locks - 重新安装PHP时指定从源码编译:
(根据需要替换为brew install php@8.0 --build-from-sourcephp@8.1或php@8.2)
内容的提问来源于stack exchange,提问作者user3455246
相关产品推荐
相关产品推荐

