在 Apache Ubuntu 16.04 中安装 xSendFile

Nge*_*ian 2 php linux apache yii2 digital-ocean

我想使用 xSendFIle 在 PHP 中下载大文件。我尝试按照此处的教程https://tn123.org/mod_xsendfile/来安装它。

我通过 1) 克隆目录来做到这一点

git clone https://github.com/nmaier/mod_xsendfile.git

2)使用安装

 apxs -cia mod_xsendfile.c
Run Code Online (Sandbox Code Playgroud)

3)我将虚拟主机端口 80 编辑为如下所示

  • nano /etc/apache2/sites-available#000-default.conf

<VirtualHost *:80> ServerName example.com Redirect permanent / https://www.example.com/ RewriteEngine On RewriteCond https://example.com [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301] XSendFile on XSendFilePath /var/www/html/hostfolder/web/ </VirtualHost>

此时,我希望我的下载能够正常工作并下载 /var/www/html/hostfolder/web/music/file.zip 中的文件

额外信息:我正在使用由 Digital Ocean 托管的 Yii2 框架

对此的任何帮助将不胜感激

Cyc*_*ode 6

为什么不直接使用本机包管理器安装模块:

sudo apt-get update
sudo apt-get install libapache2-mod-xsendfile
Run Code Online (Sandbox Code Playgroud)

要查看启用了哪些模块,您可以执行以下操作:

apache2 -M
Run Code Online (Sandbox Code Playgroud)

该模块应默认启用,但您也可以简单地运行以下命令来启用它:

sudo a2enmod xsendfile
Run Code Online (Sandbox Code Playgroud)