Webdevelopment
Drupal
Betriebssysteme
Design
Sonstige
So., 05/08/2012 - 14:21
Body
Info
Changes since 0.12, new Etag, modified options .. siehe: http://freecode.com/projects/modxsendfile/releases/323142Automatisch
- PAKETQUELLE EINTRAGEN und dann apt-get update.
- ODER
- deb http://ftp.de.debian.org/debian squeeze main
- UNCOMMENT IF YOU USE THAT OR DESTRY SYSTEM on DL/UPDATES'
- /etc/apt/sources.list <- Paketquellen
- apt-get install libapache2-mod-xsendfile
- apt-get install apache2-prefork-dev
- // apxs (APache eXtenSion) installieren
- cd /tmp wget http://tn123.ath.cx/mod_xsendfile/mod_xsendfile.c
- // Quellen holen
- /usr/bin/apxs2 -cia /tmp/mod_xsendfile.c
- // und installieren Dann die Konfigurationsdatei unter
- /etc/apache2/mods-available/xsendfile.load erstellen:
- <Files *.php>
- XSendFile on
- XSendFileAllowAbove on
- </Files>
Apache neustarten
- /etc/init.d/apache2 restart
und in die PHP-Datei folgende Header einfügen:
- header("X-Sendfile: $somefile");
- header("Content-Type: application/octet-stream");
- header("Content-Disposition: attachment; file=\"$somefile\"");
- exit;
Wichtig
Unbedingt in die Apache config adden (innerhalb
- XSendFile on
- XSendFileAllowAbove on
Testen wir
Php file erzeugen. Beachten das die Dateipfade stimmen und die Datei auch existiert.
- <?php
- $file = "/var/www/web/test.jpg";
- header("X-Sendfile: $file");
- header("Content-type: application/octet-stream");
- header('Content-Disposition: attachment; filename="test.jpg"');
- ?>
Wenn alles klappt sehen wir:
ACHTUNG die ZEILE "X-Sendfile..." TAUCHT NICHT AUF, AUS SICHERHEITSGRÜNDEN!!!!!!!!!!! Sie taucht auf wenn man die direktiven aus der apache config entfernt (so funktioniert xsendfile allerdings nicht mehr, also nur wenn man man den header sehen will machen).
- HTTP/1.1 200 OK Date: Thu, 17 Jun 2010 14:38:52 GMT
- Server: Apache X-Sendfile: /var/www/web/test.jpg
- Content-Disposition: attachment; filename="test.jpg"
- Content-Length: 0 Keep-Alive: timeout=3, max=100
- Connection: Keep-Alive
- Content-Type: application/octet-stream
File ist 0 bytes
Xsend ist falsch eingerichtet. Fehlen eventuell die direktiven in der apache config/.htaccess Quellen INFO:http://codeghar.wordpress.com/2009/12/31/django-apache-and-x-sendfile-in-debian/ http://www.admin-magazin.de/content/schnellere-downloads-durch-mod-xsendfile-fuer-apache2 http://www.qc4blog.com/?p=547 http://www.qc4blog.com/?p=555 http://codeutopia.net/blog/2009/03/06/sending-files-better-apache-mod_xsendfile-and-php/ http://www.yiiframework.com/wiki/129/x-sendfile-serve-large-static-files-efficiently-from-web-applications/ WEBSEITE: http://tn123.ath.cx/mod_xsendfile/
Add new comment