Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Zend Framework从S3下载大文件时的空白响应_Php_Zend Framework_Codeigniter_Amazon S3 - Fatal编程技术网

Php 使用Zend Framework从S3下载大文件时的空白响应

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

我使用Zend Framework Zend_Service_Amazon_S3类在codeigniter应用程序中从Amazon S3服务器下载文件

我的脚本首先检查用户是否有权下载该文件,然后尝试强制从S3服务器下载该文件。当下载文件是一个小的测试压缩文件(661字节)时,我可以使用它,但是当我尝试下载一个大的视频压缩文件(150MB+)时,我只得到一个空白屏幕

代码如下:

$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服务器:-(