Zum Inhalt

Datei-Uploads#

WoltLab Suite bietet an verschiedenen Stellen die Möglichkeit Dateien hochzuladen, beispielsweise in Form von Dateianhängen zu Foren-Beiträgen oder als Bilder oder Videos in der Galerie.

Die Limits für die Größe der Dateien können über Gruppenberechtigungen konfiguriert werden. Allerdings gibt es auch in der Serverkonfiguration diverse Einstellungen, die das Hochladen von größeren Dateien verhindern oder sogar das Hochladen von Dateien als Ganzes lahmlegen können. Dieses Artikel soll auf die häufigsten Fehlerquellen in der Serverkonfiguration eingehen.

Hinweis

Diese Anleitung richtet sich an Kunden, die die Software selbstständig auf einem eigenen Server oder Webhosting betreiben.

PHP-Konfiguration#

In der PHP-Konfiguration gibt es folgende Einstellungen, die das Hochladen von Dateien betreffen:

  • file_uploads: Muss auf On stehen, damit ein Hochladen von Dateien möglich ist.
  • max_file_uploads: Legt die Anzahl der Dateien fest, die pro Skript-Durchlauf hochgeladen werden können. Muss mindestens auf 1 stehen.
  • upload_max_filesize: Legt die maximale Dateigröße von hochgeladenen Dateien fest.
  • post_max_size: Setzt die maximal erlaubte Größe von POST-Daten. Diese Einstellung umfasst auch Datei-Uploads und muss immer größer sein als upload_max_filesize.
  • upload_tmp_dir: Legt das Verzeichnis fest, in dem hochgeladene Dateien vor der Verarbeitung zwischengespeichert werden. Dieses Verzeichnis muss vorhanden sein und so konfiguriert sein, dass ein Zugriff durch PHP möglich ist.

Weitere mögliche Fehlerquellen#

  • Beim NGINX-Webserver wird über die Konfigurations-Einstellung client_max_body_size die maximale Größe der Anfrage konfiguriert. Diese Einstellung betrifft auch Datei-Uploads.
  • Web Application Firewalls (wie z. B. Cloudflare) haben ebenfalls Limits für die maximale Größe einer Anfrage.
  • Der zur Verfügung stehende Festplattenspeicher (Quota) ist ausgeschöpft.
  • Das Verzeichnis in dem die Dateien abgelegt werden sollen (bei Dateianhängen z. B. attachments) hat nicht die erforderlichen Zugriffsrechte und ist deshalb nicht beschreibbar.