我正在使用undesigned API来删除S3对象。我可以删除最多20到30个对象。我去批量删除超过100或200它没有响应。
我不想删除S3存储桶。对于80到100个对象我得到的结果之后我没有在php中得到结果。对象不会从S3中删除。我不知道为什么?
修改
我实施了Theodore R. Smith的想法.Elachys也给出了同样的想法。但是theodore有点简洁。请看下面的结果。
没用。我把文件写在我的最后用于跟踪状态。我选择了53个文件并开始删除。但它在40个对象之后停止。然后用0kb的105个文件进行调整,它停在30个Assets.In文件中写我得到105对象删除的值 - S3 deleted Started09:02:34
和第30个删除在Completed S3 Delete 09:02:44
结束。然后第31个S3删除从Started S3 Delete 09:02:44
开始但是没有得到S3的结果。
我错过的任何事情请告诉我。我现在没有得到结果。
你有什么想法吗?
更新
解决方案:
最后通过使用以下API修复了我的问题
https://raw.github.com/tylerhall/php-aws/master/class.s3.php
现在工作正常。删除超过100个对象在几秒钟内取得了良好的效果。使用S3fox也检查。完美!
感谢大家回答这个问题
答案 0 :(得分:0)
听起来好像脚本可能会超时或者没有以某种方式完成执行。
回显脚本底部的内容,看看它是否显示。
如果不是超时问题,请检查您的php错误日志。
在一定程度上,它可能是某种“锤子保护”。出于调试目的,尝试在每次删除之间添加sleep(1);
,然后查看它是否有效。
答案 1 :(得分:0)
试试这个:
在代码顶部放置:
set_time_limit(0);
然后将你的循环放在你做请求的地方,并在每50次后睡觉(5)。使用代码if ($requestCount % 50 === 0) { sleep(5); }
请进行这两项更改并报告。