Problem:
Der Download von ESD Dateien funktioniert ohne Probleme solange ich solange ich als Methode ‚Link‘ oder ‚PHP‘ verwende. Sobald ich die Methode auf ‚X-Sendfile‘ umstelle kommt nach Click auf den Download Button folgende Fehlermeldung im Browser:
Die Website ist nicht erreichbar
Die Webseite unter https:// ..de/account/download/esdID/134 ist eventuell vorübergehend nicht verfügbar oder wurde dauerhaft an eine neue Webadresse verschoben.
ERR_INVALID_RESPONSE
Das X-Sendfile Modul ist installiert. Wenn ich zum Testen in ‚shopware.php‘ folgende Zeilen an den Anfang schreibe, startet der Download ohne Probleme:
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment;filename=Testvideo.mp4');
header('X-Sendfile: /www/htdocs/w1234567/shopware/files/foobar/Testvideo.mp4');
die;
Der Pfad zur Datei ist derselbe, der in ‚engine/Shopware/Controllers/Frontend/Account.php‘ genutzt wird um dort den Header zu erzeugen.
Ein
var_dump($this->Response()->getHeaders()); die;
in der ‚engine/Shopware/Controllers/Frontend/Account.php‘ liefert:
array(3) { [0]=> array(3) { [„name“]=> string(12) „Content-Type“ [„value“]=> string(24) „application/octet-stream“ [„replace“]=> bool(false) } [1]=> array(3) { [„name“]=> string(19) „Content-Disposition“ [„value“]=> string(36) "attachment; filename=„Testvideo.mp4"“ [„replace“]=> bool(false) } [2]=> array(3) { [„name“]=> string(10) „X-Sendfile“ [„value“]=> string(83) „/www/htdocs/w1234567/shopware/files/foobar/Testvideo.mp4“ [„replace“]=> bool(false) } }
Muss das X-Sendfile Modul irgendwie noch zusätzlich für Shopware konfiguriert werden? Ist es eine Servereinstellung? Überseh ich eine Option in Shopware? Ist es ein Bug?