You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac安装SQLite扩展后PHP无法运行,遇Brew及依赖库错误求助

解决M1 Mac安装SQLite扩展后PHP依赖libavif库的报错问题

报错信息

dyld[58991]: Library not loaded: /opt/homebrew/opt/libavif/lib/libavif.15.dylib
  Referenced from: <87C1A268-34E4-396F-8BBC-D5591064E333> /opt/homebrew/Cellar/gd/2.3.3_5/lib/libgd.3.dylib
  Reason: tried: '/lib/libavif.15.dylib' (no such file), '/libavif.15.dylib' (no such file), '/opt/homebrew/opt/libavif/lib/libavif.15.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/libavif/lib/libavif.15.dylib' (no such file), '/opt/homebrew/opt/libavif/lib/libavif.15.dylib' (no such file), '/usr/local/lib/libavif.15.dylib'可为            SELECT           /create延长 Des` Imp西^开心Ultimate file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/usr/lib/libavif.15.dylib' (no such file, not in dyld cache), '/lib/libavif.15.dylib' (no such file), '/libavif.15.dylib' (no such file), '/opt/homebrew/Cellar/libavif/1.0.1/lib/libavif.15.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/libavif/1.0.1/lib/libavif.15.dylib' (no such file), '/opt/homebrew/Cellar/libavif/1.0.1/lib/libavif.15.dylib' (no such file), '/usr/local/lib/libavif.15.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/usr/lib/libavif.15.dylib' (no such file, not in dyld cache)

问题分析

报错核心是libgd库依赖的libavif.15.dylib不存在或架构不兼容:

  • M1 Mac为arm64架构,/usr/local/lib下的libavif是x86_64版本,无法兼容
  • Homebrew中的libavif版本更新后,旧的依赖链接路径失效

解决方案

按以下步骤依次执行:

  1. 重装arm64版本的libavif
    确保使用M1原生Homebrew(路径为/opt/homebrew),执行重装命令:

    brew reinstall libavif
    
  2. 修复libgd的依赖链接
    重新安装libgd,让它重新关联正确的libavif库:

    brew reinstall gd
    
  3. 验证依赖路径是否正确
    检查libgd的依赖项,确认libavif路径指向正确:

    otool -L /opt/homebrew/Cellar/gd/2.3.3_5/lib/libgd.3.dylib
    

    正常输出中,libavif的路径应该是/opt/homebrew/opt/libavif/lib/libavif.xx.dylib(xx为当前安装的版本号)

  4. 重装PHP及SQLite扩展
    如果上述步骤后仍报错,重新安装PHP和SQLite扩展:

    # 若使用pecl管理扩展
    pecl uninstall sqlite
    pecl install sqlite
    
    # 若使用Homebrew安装的PHP,直接重装PHP
    brew reinstall php
    
  5. 清理dyld缓存
    最后刷新系统动态链接缓存:

    sudo killall -HUP dyld
    

内容的提问来源于stack exchange,提问作者Clément Talleu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:50:19