Php 使用Zend Framework从S3下载大文件时的空白响应
我使用Zend Framework Zend_Service_Amazon_S3类在codeigniter应用程序中从Amazon S3服务器下载文件 我的脚本首先检查用户是否有权下载该文件,然后尝试强制从S3服务器下载该文件。当下载文件是一个小的测试压缩文件(661字节)时,我可以使用它,但是当我尝试下载一个大的视频压缩文件(150MB+)时,我只得到一个空白屏幕 代码如下:Php 使用Zend Framework从S3下载大文件时的空白响应,php,zend-framework,codeigniter,amazon-s3,Php,Zend Framework,Codeigniter,Amazon S3,我使用Zend Framework Zend_Service_Amazon_S3类在codeigniter应用程序中从Amazon S3服务器下载文件 我的脚本首先检查用户是否有权下载该文件,然后尝试强制从S3服务器下载该文件。当下载文件是一个小的测试压缩文件(661字节)时,我可以使用它,但是当我尝试下载一个大的视频压缩文件(150MB+)时,我只得到一个空白屏幕 代码如下: $this->load->helper('download'); $s3 = new Zend_Serv
$this->load->helper('download');
$s3 = new Zend_Service_Amazon_S3();
force_download($video->filename(), $s3->getObject($video->s3_object_path()));
其中$video是表示视频的模型的实例
大小似乎是这里的问题,这是我看到的两个文件之间的唯一区别
理想情况下,我希望来自S3的数据绕过应用程序所在的服务器。codeigniter中的强制下载功能设置“内容处置:附件;”标题。通过阅读此处的其他相关文章,这应该绕过服务器,对吗?您应该打开错误报告,查看实际错误是什么,或者检查错误日志。我的猜测是,由于文件太大,脚本可能会超时。尝试添加
设置时间限制(0)代码>在调用force\u download()
之前,我已经设置了错误报告(E\u ALL)、ini\u set('display\u errors',1)、设置了时间限制(0),我一点也不知道。屏幕上或php&codeigniter错误日志中没有错误。已通过设置ini_集(“内存限制”,“500M”)解决了此问题;因此它大于文件大小。这当然证明了S3文件没有绕过Web服务器:-(