前言
网上搜索X-Accel-Redirect限速下载都是千篇一律的教程,如果按照网上的教程开发,下载大文件时,测试还是下载一半会失败。
我的站长站研究了很久,发现网上的分享的代码,缺少很多参数,整理分享一篇完整的X-Accel-Redirect大文件下载方案。
准备工作
在写代码前,你需要修改环境配置,否则大文件下载+低配服务器下载一半会失败。
1、修改php上传限制,比如:宝塔->软件商店->已安装~>PHP->.上传限制->修改为10240->保存
2、修改PHP超时限制,比如:宝塔->软件商店->已安装->PHP->超时限制->修改为3600->保存
3、修改nginx上传限制,比如:宝塔->软件商店->己安装~>Nginx->性能调整->修改连接超时世间为3600-->保存
4、修改Nginx超时限制,比如:宝塔->软件商店->己安装~>Nginx->性能调整->修改最大上传文件为10240->保存
5、最后重启PHP和重启Nginx,最好是重启服务器最保险。
X-Accel-Redirect示例
然后就是完整的X-Accel-Redirect下载代码示例了,已测试,完美无错,1G1H的服务器可低速下载不失败。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
$filename为文件名称
$ext为文件后缀,也可以不要
$downurl为下载文件地址
$download_rate为限速多少B
以上变量自己读取自己的数据即可。