XSendFile Apache2 mod具有零字节

时间:2015-02-21 11:36:58

标签: php apache x-sendfile

我的代码,路径正确且内容长度正确

header("X-Sendfile: " . $savePath); 
header('Content-Length: ' . filesize($savePath));
header("Content-type: $type");
header('Content-Disposition: attachment; filename="' . basename($localFilename) . '"');

exit();

我的.htaccess

<Files file.php>
    XSendFile on
</Files>

这总是会导致零文件下载。

该文件肯定存在于正确的位置。使用curl -I向我显示以下似乎没问题。但该文件仍为零字节。

HTTP/1.1 200 OK
Date: Sat, 21 Feb 2015 11:35:37 GMT
Server: Apache/2.2.29 (Amazon)
X-Powered-By: PHP/5.3.29
X-Sendfile: /var/www/html/cache/72b08eb707bb5eab58d8e5d7d9b21bb8.jpeg
Content-Length: 10004
Content-Disposition: attachment; filename="72b08eb707bb5eab58d8e5d7d9b21bb8.jpeg"
Connection: close
Content-Type: image/jpeg

我做错了什么?

1 个答案:

答案 0 :(得分:2)

事实证明你需要使用

XSendFile on

在您的主Apache2 conf中,否则无法在任何地方使用