もし変換できない場合は、サーバに libavif を入れる方が早いと思います。
https://pgmemo.tokyo/data/archives/2511.html
<?php
// GDライブラリの確認
echo "=== GD Library ===<br>\n";
if (extension_loaded('gd')) {
echo "GD: インストール済み<br>\n";
echo "AVIF (GD): " . (function_exists('imageavif') ? '✅サポート済み' : '❌未サポート') . "<br>\n";
$gd_info = gd_info();
echo "GD Version: " . $gd_info['GD Version'] . "<br>\n";
} else {
echo "GD: インストールされていません<br>\n";
}
echo "\n=== ImageMagick ===<br>\n";
if (extension_loaded('imagick')) {
echo "ImageMagick: インストール済み<br>\n";
$imagick = new Imagick();
$formats = $imagick->queryFormats();
echo "AVIF (ImageMagick): " . (in_array('AVIF', $formats) ? '✅サポート済み' : '❌未サポート') . "<br>\n";
// ImageMagickのバージョン確認
$version = Imagick::getVersion();
echo "ImageMagick Version: " . $version['versionString'] . "<br>\n";
} else {
echo "ImageMagick: インストールされていません<br>\n";
}
echo "\n=== intervention/image での確認 ===<br>\n";
use Intervention\Image\ImageManagerStatic as Image;
// GDドライバーでテスト
try {
Image::configure(['driver' => 'gd']);
$img = Image::canvas(10, 10);
$img->encode('avif');
echo "intervention/image (GD): AVIF対応<br>\n";
} catch (Exception $e) {
echo "intervention/image (GD): AVIF未対応 - " . $e->getMessage() . "<br>\n";
}
// ImageMagickドライバーでテスト
try {
Image::configure(['driver' => 'imagick']);
$img = Image::canvas(10, 10);
$img->encode('avif');
echo "intervention/image (ImageMagick): AVIF対応<br>\n";
} catch (Exception $e) {
echo "intervention/image (ImageMagick): AVIF未対応 - " . $e->getMessage() . "<br>\n";
}