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

如何修复PHP警告:PHP Startup: 无法加载动态库 'xxx/xxx/yaf.so'?

[26-Nov-2021 21:49:17 Asia/Shanghai] PHP Warning: PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php/php5.6.40/lib/php/extensions/no-debug-non-zts-20131226/yaf.so' - dlopen(/Applications/MAMP/bin/php/php5.6.40/lib/php/extensions/no-debug-non-zts-20131226/yaf.so, 0x0009): tried: '/Applications/MAMP/bin/php/php5.6.40/lib/php/extensions/no-debug-non-zts-20131226/yaf.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/yaf.so' (no such file) in Unknown on line 0

根因说明

该报错出现在Apple Silicon系列芯片的Mac设备上,当前已安装的yaf.so扩展为arm64架构,但你使用的MAMP集成环境下的PHP 5.6 为x86_64架构,架构不匹配导致扩展加载失败。

解决方案

可根据实际使用场景选择对应方案:

  • 方案1:重新编译x86_64架构的yaf扩展(需要继续使用当前PHP 5.6版本时选择)
    1. 右键点击终端图标,选择「显示简介」,勾选「使用Rosetta打开」,重启终端
    2. 执行arch命令验证终端架构,输出为x86_64即为符合要求
    3. 下载yaf 2.x版本源码(PHP 5.6仅支持yaf 2.x版本,不可使用3.x及以上版本)
    4. 进入源码目录后依次执行编译命令:
      phpize
      ./configure --with-php-config=/Applications/MAMP/bin/php/php5.6.40/bin/php-config
      make && make install
      
    5. 编译完成后重启MAMP的PHP服务,执行/Applications/MAMP/bin/php/php5.6.40/bin/php -m | grep yaf验证扩展是否加载成功
  • 方案2:切换为arm64架构的PHP版本(无强制PHP 5.6使用需求时选择)
    更换支持Apple Silicon原生运行的arm64版PHP环境,再安装对应arm64架构的yaf扩展即可解决架构不匹配问题
  • 方案3:临时禁用yaf扩展(无需使用yaf扩展时选择)
    执行/Applications/MAMP/bin/php/php5.6.40/bin/php --ini查看php.ini路径,打开文件后找到extension=yaf.so配置项,在行首添加;注释该行,重启PHP服务即可消除警告

内容的提问来源于stack exchange,提问作者Waiho

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:15:06