我正在使用ZipArchive逐步压缩网站。我多次调用脚本以确保它不超过php max执行时间。
这适用于大多数Web主机。但是对于某些主机,在存档上调用close()非常慢,导致执行时间超出。
例如,在一台最长执行时间为30秒的主机上,我拉链20秒然后调用关闭,但它没有及时完成。
我尝试过PCLZip作为替代方案。它是可靠的,但相比之下却相当缓慢。
关于它为什么会这样表现以及它如何解决的任何想法?
答案 0 :(得分:2)
例如,尝试通过ftp运行fopen
/ fwrite
/ fclose
。您会注意到fopen
和fclose
需要一段时间才能执行,而fwrite
是即时的。
您可能会说“无法正确”fwrite
每次都会通过ftp发送数据。我不知道它是否存在,但我敢打赌它没有,fclose
发送所有批处理工作。
以同样的方式ZipArchive::close
可能会完成您在此之前构建的所有内容并将其合并到最终文件中。