2

我正在使用 ZipArchive 以增量方式压缩网站。我多次调用脚本以确保它不超过 php 最大执行时间。

这适用于大多数网络主机。但是对于某些主机,在存档上调用 close() 非常慢,并导致超出执行时间。

例如,在一台最大执行时间为 30 秒的主机上,我压缩 20 秒,然后调用 close,但它没有及时完成。

我已经尝试过 PCLZip 作为替代方案。它是可靠的,但相比之下速度却慢得惊人。

关于它为什么以这种方式运行以及如何解决它的任何想法?

4

1 回答 1

2

例如,尝试通过 ftp运行fopen// 。您会注意到并需要一段时间来执行,而这是即时的。fwritefclosefopenfclosefwrite

您可能会说“这不可能”fwrite每次都通过 ftp 发送数据。我不知道它是否有效,但我敢打赌它不会fclose发送所有的批处理工作。

以类似的方式ZipArchive::close,可能会完成您之前构建的所有内容并将其合并到最终文件中。

于 2012-06-30T11:08:16.180 回答