如何调试/计算我的php函数?创建Zip文件

时间:2015-07-23 10:49:17

标签: php amazon-s3

有一个php函数来“动态”生成一个zip文件。我在一台服务器(AWS S3)上有文件,但生成zip文件的PHP函数在另一台服务器/网络托管上。我注意到生成zip文件需要很长时间,如果创建zip文件时有很多文件,我会得到一个损坏的zip文件。我想解决/调试“停止”的位置,如果有很多文件,那么缺少的链接是什么(限制似乎是20个文件,这并不多)。

如果我有超过20个文件来生成我的zip文件,怎么能找到我的函数在哪里失败?

我可以为每一行添加计时器吗?

我能否知道我的共享主机(我有php功能)是内存还是其他东西?或者如果它是S3的东西。

我的php函数用于从AWS S3上的文件生成zip文件

$('div.package.array > span.value').each(function () {
        $('span.name').removeClass('name').addClass('empty');
    });

2 个答案:

答案 0 :(得分:0)

您可以尝试使用

http://php.net/manual/en/ziparchive.getstatusstring.php

ZipArchive :: getStatusString - 返回状态错误消息,系统和/或zip消息

答案 1 :(得分:0)

您不知道压缩所有文件需要多长时间。因此,您必须检查最大执行时间和使用该脚本的内存。

如果问题与时间有关,那么解决方案可能是以块的形式执行此操作:

  1. 打开存档进行编写
  2. 每次迭代添加N个文件
  3. 关闭存档
  4. 重复,直到有文件
  5. 请记住,使用此方法,您拥有的文件越多,存储临时结果所需的内存就越多