Betrieb

Auslieferung

Standardmäßig streamt PHP die Dateien. Das läuft überall, kostet aber einen PHP-Prozess pro Download. Alternativ liefert der Webserver direkt aus.

Einrichten

# nginx — interne Location, von außen nicht erreichbar
location /__protected/ {
    internal;
    alias /var/www/fileshare/storage/app/private/;
}

Bei Apache genügt mod_xsendfile mit XSendFile On und einem passenden XSendFilePath.

Der Pfad der internen Location steht in FILESHARE_X_ACCEL_INTERNAL (Konfiguration).

Selbsttest

Danach in Einstellungen → Auslieferung den Selbsttest ausführen. Erst wenn der bestanden ist, nutzt die Einstellung „Automatisch" den schnellen Weg.

Eine falsch eingerichtete Beschleunigung liefert stillschweigend 0-Byte-Downloads aus, und PHP kann das zur Laufzeit nicht erkennen — deshalb die Hürde. Der Selbsttest misst die empfangenen Bytes im Browser und braucht dafür JavaScript; er ist das einzige Werkzeug dieser Anwendung, für das das gilt.

Sind Downloads 0 Byte groß, stell auf PHP-Streaming um und richte danach neu ein.

Verschlüsselte Dateien

Verschlüsselte Dateien gehen immer durch PHP — der Webserver kann sie nicht entschlüsseln. Das gilt unabhängig von der eingestellten Methode.

Quelle dieser Seite: docs/betrieb/auslieferung.md im Repository. Sie wird beim Bauen daraus erzeugt — Änderungen gehören in die Markdown-Datei, nicht in diese Seite.