我得到了一些不同的结果,我编写了一些PHP代码,用于将文件上传到S3,然后调用EC2实例对上传的文件执行操作。
这是我做事的顺序 -
1)使用S3类放置文件
$result = s3 -> putObjectFile($uploadDIR, $bucket, $name, S3::ACL)
2)检查$ result
if($result == "1") {
//file made it to s3
3)使用cURL调用EC2实例并在S3中对文件执行操作
我正在使用它与视频文件,当我上传一个小视频文件它工作正常(例如3MB)但对于较大的视频(例如80MB)代码似乎没有通过步骤1.文件移动到s3确定但我的猜测是,在一段时间后PHP放弃等待查看$ result == 1,因此不执行其余的代码。
处理这样的事情的最佳方法是什么?如何检测文件是否已上传到S3,然后运行某些代码?
答案 0 :(得分:4)
对于大文件,上传它们所需的时间可能会高于脚本的max_execution_time。
你可以使用set_time_limit()函数,但它仍然可能不适合网页,因为脚本只是“挂起”而没有任何用户反馈(输出到浏览器)。
这可能会更好: