Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Bildverarbeitung und Medien

Was ein Hoster für die Bildverarbeitung von Exponential bereitstellen muss - GD und ImageMagick und ihre Reihenfolge, die Bild-Aliase und wo Varianten gespeichert werden, die akzeptierten und geprüften Upload-Typen, die…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/hosting/basics/image-processing-and-media.md

On this page

This page is a translation. Read the English original

Bildverarbeitung und Medien

Diese Seite ist für Systemadministratoren und Support-Mitarbeitende bei einem Hosting-Anbieter. Sie beantwortet: Welche Bildbibliotheken und Programme ein Exponential-Server braucht, wie Bilder und ihre Varianten gespeichert werden, welche Uploads akzeptiert werden, was Velocity hinzufügt und welche PHP- und Berechtigungseinstellungen Medien betreffen. Die Einstellungen stehen in settings/image.ini; die Zusammenfassung für den Betrieb ist Kapitel 10.8.

Inhalt

  1. Was der Server braucht
  2. Die Konverter und ihre Reihenfolge
  3. Bild-Aliase und Speicher
  4. Uploads: Typen, Prüfung und Grenzen
  5. Die Bildverarbeitung von Velocity
  6. Berechtigungen für Medien
  7. Befehle
  8. Checkliste
  9. Verwandte Seiten

Was der Server braucht

ElementGebraucht fürGeprüft von
GD (Erweiterung gd, imagegd2()) oder ImageMagick (convert)Bildvarianten; mindestens eines ist erforderlichkritischer Test image_conversion (Require=one)
Sowohl GD als auch ImageMagickGD für die üblichen Formate im Prozess, ImageMagick für Formate, die GD nicht lesen kannempfohlen (Kapitel 2)
GD mit FreeType (imagettftext(), imagettfbbox())den Template-Operator Text-zu-Bildoptionaler Test texttoimage_functions
fileinfoden Typ eines hochgeladenen Bildes aus seinem Inhalt lesen[ImageUploadSettings]; Systeminformationen warnen, wenn es fehlt
system() nicht deaktiviertder ImageMagick-Konverter führt convert darüber aussiehe PHP-Einstellungen für Exponential

Der Setup-Assistent sucht convert in /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin und /usr/local/sbin und schaltet den ImageMagick-Konverter ab, wenn er keines findet. Prüfen Sie mit convert -version und php --ri gd.

Die Konverter und ihre Reihenfolge

settings/image.ini, [ImageConverterSettings] ImageConverters[] listet die Konverter in Reihenfolge auf; der erste, der ein Bild verarbeiten kann, wird genutzt:

ImageConverters[]
ImageConverters[]=GD
ImageConverters[]=ImageMagick
  • GD kommt zuerst: Es ist in PHP eingebaut, konvertiert im Prozess, ohne pro Bild ein Programm zu starten, und liest und schreibt JPEG, PNG, GIF und WBMP.
  • ImageMagick ist die Rückfallebene für Formate, die GD nicht lesen kann (zum Beispiel PSD, TIFF, PDF oder WebP), und für Filter, die nur es unterstützt. Es übernimmt vollständig, wenn GD fehlt oder [GD] IsEnabled=false gesetzt ist.
  • [ImageMagick] ExecutablePath (leer: der Suchpfad) und Executable (convert) finden das Programm.

Um ImageMagick zu bevorzugen, überschreiben Sie die Liste in settings/override/image.ini.append.php mit ImageMagick zuerst.

[ImageConverterSettings] LockTimeout (mitgeliefert 60) ist, wie viele Sekunden ein Prozess wartet, während ein anderer denselben Alias erzeugt; danach beendet der wartende Prozess den anderen und erzeugt den Alias selbst.

Bild-Aliase und Speicher

  • Hochgeladene Bilder liegen im Speicherverzeichnis der Website, var/<site var dir>/storage/images (image.ini [FileSettings] PublishedImages=images; Entwürfe und archivierte Versionen in images-versioned).
  • Ihre Varianten, die Aliase, werden bei der ersten Verwendung erzeugt. [AliasSettings] AliasList[] benennt sie (reference, small, tiny, medium, large, rss und die des Designs der Website).
  • [OutputSettings] AllowedOutputFormat[] listet die Formate auf, die Seiten zeigen dürfen: JPEG, PNG, WebP und GIF.
  • Temporäre Bilddateien landen im Unterverzeichnis imagetmp des Caches ([FileSettings] TemporaryDir).

Für einen Hoster heißt das: Der Bildspeicher wächst mit den Uploads und mit der Anzahl der Aliase, die ein Design definiert, und der erste Aufruf einer neuen Seite kann CPU kosten, während ihre Varianten erzeugt werden.

Uploads: Typen, Prüfung und Grenzen

image.ini [ImageUploadSettings] entscheidet, welche hochgeladenen Dateien als Bilder akzeptiert werden, auf jedem Weg (das Bearbeitungsformular, das Upload-Modul, der Rich-Text-Editor, der AJAX-Uploader, WebDAV, Importe):

SchlüsselMitgeliefertBedeutung
ValidateMIMETypeenabledder Typ wird mit fileinfo aus dem Inhalt der Datei gelesen, nicht aus ihrem Namen
AllowedMIMETypes[]JPEG, PNG, GIF, WebP, AVIF, TIFF, BMP, SVGeine abgelehnte Datei wird nicht gespeichert
SanitizeSVGenabledein SVG wird als Ausgabe des Bereinigers gespeichert, ohne Skript, Ereignisattribute, foreignObject oder externe Verweise; SVG-Aliase werden nie skaliert

Liefern Sie SVG-Dateien mit den Headern aus SVG-Bilder aus.

Die Upload-Größe ist die von PHP: upload_max_filesize und post_max_size müssen so groß sein wie die größte Datei, die Kunden hochladen; Exponential prüft sie nicht. Nennen Sie die Grenze im Tarif und setzen Sie sie im Pool (PHP-Einstellungen für Exponential).

Die Bildverarbeitung von Velocity

Wenn Velocity die Website ausliefert, beantwortet er statische Dateien selbst und kann Bilder auf Anfrage in der Größe ändern (Statische Dateien und Bilder in Velocity):

  • ?w=400 oder ?h=300 an einer Bild-URL ändert die Größe, nie über die Größe der Quelle hinaus; für Browser, die es akzeptieren, wird AVIF oder WebP gewählt; Save-Data: on senkt die Qualität.
  • Ergebnisse werden zwischengespeichert; Q.images.cache.maxSize (mitgeliefert 268435456 Byte) begrenzt den Cache.
  • Es braucht GD in PHP (ohne GD wird das Original ausgeliefert), WebP-Unterstützung in GD für WebP und imageavif() (PHP 8.1 mit libavif) für AVIF.

Das ist getrennt von den Bild-Aliasen des Kernels oben, die unter jedem Webserver funktionieren.

Berechtigungen für Medien

image.ini [FileSettings] hat eigene Modi für Bildverzeichnisse und -dateien, mitgeliefert für alle beschreibbar:

# settings/override/image.ini.append.php
[FileSettings]
DirPermissions=0770
ImagePermissions=0660

image.ini selbst bevorzugt 0770 und 0660 mit dem richtigen Benutzer und der richtigen Gruppe. Jeder Prozess, der einen Alias erzeugen darf (das Web-PHP, die Worker von Velocity, Cron und die Konsole), muss in das Speicherverzeichnis schreiben können; siehe Beschreibbare Verzeichnisse und Berechtigungen.

Befehle

Nachdem sich die Definition eines Alias geändert hat, entfernen Sie die erzeugten Varianten, damit sie neu erzeugt werden:

php bin/php/cache.php imagealias clear --allow-root-user

Dasselbe gibt es in der Konsole als exp:cache imagealias. Bilder und ihre Varianten gehören zu var/storage, das jedes Backup enthalten muss (Was gesichert werden muss).

Checkliste

  • To do: GD (mit FreeType) und ImageMagick installiert; convert -version und php --ri gd antworten.
  • To do: fileinfo im Web-PHP und im PHP der Kommandozeile geladen.
  • To do: system nicht in disable_functions, wo ImageMagick genutzt wird.
  • To do: Upload-Grenzen gesetzt und im Tarif genannt.
  • To do: Modi in image.ini [FileSettings] gehärtet.
  • To do: var/storage in Backups und in der Überwachung des Speicherplatzes enthalten.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x