Actions
X-sendfile¶
- Table of contents
- X-sendfile
- Description
- HowTo
- Notes
- External links
- X-Sendfile, X-LIGHTTPD-send-file (old alias)
- X-Sendfile2 (available since 1.4.24)
Description¶
Let lighty handle downloads of large files instead of using PHP.
see mod_fastcgi page for details
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.40 and later support Range requests from client in conjunction with backend X-LIGHTTPD-send-file response.
External links¶
Updated by gstrauss over 4 years ago · 9 revisions