Project

General

Profile

Actions

X-LIGHTTPD-send-file » History » Revision 6

« Previous | Revision 6/9 (diff) | Next »
dandv, 2012-08-11 10:42
Added external link to lighty blog on X-Sendfile


X-LIGHTTPD-send-file

Option to let lighty handle large file-downloads instead of PHP.
  • X-LIGHTTPD-send-file (lighty v1.4)
  • X-Sendfile: (lighty v1.5)

Description

Let lighty handle downloads of large files instead of using PHP.

HowTo

Your typicall FastCGI setup + "allow-x-send-file" => "enable"

fastcgi.server = {
   ".php" => {
      "127.0.0.1" => {
          # ....
          "allow-x-send-file" => "enable" 
      }
   }
}

Tell PHP not to handle the file download, instead set up a header like this:

<?php
/**
 * lighttpd's feature of X-Sendfile explained.
 * 
 * @author Björn Schotte <schotte@mayflower.de>
 */
$file_on_harddisk = "/data/vhosts/bjoern/htdocs/acbd18db4cc2f85cedef654fccc4a4d8download.tar.gz";
$file_to_download = "download.tar.gz";
        header( "Content-Disposition: attachment; filename=\"" . $file_to_download . '"' );
        Header( "X-LIGHTTPD-send-file: " . $file_on_harddisk);
?>

Notes

Lighttpd 1.4.20 does not support Range-requests with X-LIGHTTPD-send-file.
Range-request support in lighttpd 1.5 with X-Sendfile is unknown.

External links

Updated by dandv over 12 years ago · 6 revisions