这是关于StackOverflow的一个反复出现的问题,我浏览了所有现有的建议都没有成功。
这是我想要实现的目标:
- 访问者访问我的网页,我必须向他发送一个非常大的文件供下载
- 该文件位于REMOTE服务器上,需要Basic Auth或Cookie。只有我拥有cookie /凭证
- 我成功设法使用wget下载该文件,然后通过X-sendfile mod(Apache)将其提供给访问者,但它需要在下载之前等待最终用户。
- 我想尽快提供下载服务,这意味着我的网站会像某种代理或某种东西一样
- 我尝试使用cURL,fsockopen / feof等一堆代码,但要么它偶尔会崩溃Apache,要么是阻塞连接(访问者只要他还没有完成下载就不能浏览网站),要么就是因为php试图将那个巨大的文件放入内存中,所以我想要破坏我的资源。
总结一下:
- 我应该能够尽快为远程文件提供服务
- 理想地按块/范围按范围提供块大小?
额外信息:PHP 5.2.13,Gentoo,libcurl 5.2.13
答案 0 :(得分:0)
根据大块发送它需要某种类型的洪流解决方案。
答案 1 :(得分:0)
我有同样的问题,但我无法解决它。
但是我确信你可以使用一些东西。我没有,因为我认为它是脏编码,但由于你很匆忙,或者是10个月前(!),我可以建议你this:
Glype代理脚本,是一个功能强大的基于php的代理。
这些都是我能想到的,试试这个,然后发送
$_POST['u']
至includes/process.php?action=update
它应该工作。如果我测试过,我会告诉你结果......
希望它有所帮助。