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

如何在MAMP中为PHP 8.2添加AVIF支持?

解决MAMP 6.8(PHP 8.2)中GD扩展缺少AVIF支持的问题

当前MAMP自带的PHP 8.2 GD扩展未编译AVIF支持,导致imageavif()函数未定义,gd_info()输出中AVIF Support字段为空。以下是两种可行的解决方法:

方法一:替换带AVIF支持的GD扩展文件

  • 找到MAMP中PHP 8.2的扩展目录,路径示例:/Applications/MAMP/bin/php/php8.2.*/lib/php/extensions/no-debug-non-zts-20220829/(将php8.2.*替换为实际的子版本号,如php8.2.15)
  • 备份原有gd.so文件:在终端进入上述目录后执行 cp gd.so gd.so.bak
  • 获取带有AVIF支持的gd.so文件(可自行编译或使用可信的预编译版本,确保与MAMP的PHP 8.2版本兼容)
  • 将新的gd.so替换到该目录中
  • 重启MAMP的Apache服务,执行gd_info()验证AVIF Support是否变为1

方法二:手动编译GD扩展(适合有编译经验的用户)

  • 安装编译依赖:使用Homebrew执行 brew install libavif libpng libjpeg freetype
  • 下载对应版本的PHP 8.2源码包并解压,进入源码内的ext/gd目录
  • 调用MAMP自带的phpize工具:执行 /Applications/MAMP/bin/php/php8.2.*/bin/phpize(替换为实际PHP版本路径)
  • 配置编译参数:
    ./configure --with-php-config=/Applications/MAMP/bin/php/php8.2.*/bin/php-config --with-gd --with-freetype --with-jpeg --with-webp --with-avif
    
  • 编译并安装:执行 make && make install
  • 重启MAMP服务,验证AVIF支持是否生效

注意:替换或编译扩展时需确保版本兼容性,若替换后服务启动失败,可恢复备份的gd.so文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 18:20:19