Avif Support für PHP

    • Offizieller Beitrag

    Um welche Distribution/Version geht's denn?


    Wir bauen die PHP-Pakete (und Extensions) jeweils "nativ" auf den jeweiligen Distributionen, so dass diese auch die mit der Distribution mitgelieferten Pakete verwenden. Das reduziert die Abhängigkeiten und vereinfacht die Wartung.

    Wenn libgd auf (bzw. von) der jeweiligen Distribution kein AVIF unterstützt, dann wird's vermutlich schwierig das nachzurüsten...


    Viele Grüße


    -Klaus Keppler

  • Hallo Herr Keppler,


    es geht um Ubuntu 22.04, das dürfte libgd 2.3.0 mitliefern.

    gd_info unter PHP 8.2 liefert:


    Das PHP ImageMagick Modul scheint AVIF zu supporten.


    Code
    ImageMagick supported formats    3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV
  • Sicherlich möglich, allerdings wäre es durchaus im Bereich des möglich, dass man kurzfristig eine Antwort erhält ;)


    Und auf Produktivsystemen eine offiziell nicht supporte OS Umgebung einzusetzen, ist eher suboptimal.

    • Offizieller Beitrag

    Guten Morgen,


    der aktuelle Stand ist, dass wir lediglich noch nicht alle PHP-Erweiterungen fertig für Ubuntu 24 angepasst haben.

    Das dauert etwas länger als sonst, weil wir die Build-Umgebung sukzessive von Jenkins auf Gitlab CI umstellen, und dabei ab sofort alle Pakete auch gleichzeitig für ARM64 bauen.

    Anders gesagt: für Ubuntu 24 steht (auch auf ARM64) bereits PHP 5.6 (ja, wirklich ;) ) bis 8.3 fertig bereit, ImageMagick etc. sollte in den nächsten Tagen schrittweise dazu kommen. AVIF müsste da übrigens überall unterstützt sein (sofern die jeweilige PHP-Version das unterstützt).

    LiveConfig an sich sollte auf Ubuntu 24 komplett laufen - unsere manuellen Tests waren erfolgreich, in den automatischen Testlauf wird das ab Version 2.17 aufgenommen.


    Viele Grüße


    -Klaus Keppler

  • Hallo Herr Keppler,


    unter Ubuntu 24.04.1 LTS ist scheinbar auch kein AVIF Support in den LiveConfig PHP Paketen gegeben. ( GD Lib ist 2.3.3. )

    Ist den in der Ubuntu Buildumgebung libavif-dev installiert und der Configure String ( --with-avif) gesetzt?

    • Neu
    • Offizieller Beitrag

    Der Vollständigkeit halber: die Ursache liegt bei Ubuntu...

    "Unsere" PHP-Pakete nutzen die von der Distribution bereitgestellte gd-Library (libgd3). Die libgd3 für Debian 12 hat avif-Support, die für Ubuntu 24 leider nicht (siehe Bug Report 2031934, speziell Kommentar #5).


    Die Option mit --with-avif gilt nur für die mit dem PHP-Source mitgelieferte gd-Bibliothek. Im Allgemeinen versuchen wir aber immer die Distributions-Bibliotheken zu nutzen (um deren Aktualisierung müssen wir uns nicht kümmern, deren Aktualität kann einfacher geprüft werden, usw.). Zudem erhöht sich die Build-Komplexität nochmal erheblich, wenn die Bundled-gd-Version genommen werden soll (dann brauch'ts nämlich noch die dev-Bibliotheken für jpeg, png, xpm, webp und Freetype).

    Bei den PHP-Paketen von sury.org wird das libgd3-Paket komplett ersetzt, deshalb klappt das dort. Wenn AVIF für php-gd zwingend benötigt wird, könnte daher eventuell eine Lösung sein, das libgd3-Paket von Sury zu installieren.


    Viele Grüße


    -Klaus Keppler

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!