PHP 8.1 imageavif():AVIF 图像支持已被禁用

PHP 8.1 imageavif(): AVIF image support has been disabled

PHP 8.1.4(通过 remi repo 安装)在 CentOS 8 Stream 上运行

我在机器上测试了 avif 支持:

php -i | grep AVIF
AVIF Support => enabled

php -r 'echo gd_info()["AVIF Support"];'
1

if (function_exists("imageavif")) {echo "tes";}else{echo "no";}
yes

看起来不错,但是当我使用“imageavif”功能时,我收到了这个警告:

Warning: imageavif(): AVIF image support has been disabled

我很困惑...测试说“AVIF 支持 => 启用”,脚本说禁用...

如何启用它?

我的尝试:

php -r 'var_dump(imageavif(imagecreatetruecolor(8, 8), "/tmp/test"));'

CentOS 8(和 9)没有 libavif,所以无法在 libgd 中启用支持。

顺便说一句,根据设计,该功能始终存在,但失败了。

AVIF 格式可通过 imagickvips 扩展使用 libheif

使用我的存储库,你需要

  • php-pecl-imagick-im7、ImageMagick7-heic 和来自 rpmfusion.org
  • 的 libheif