PHP ZipArchive->close() 非常慢

标签 php zip

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

这在大多数网络主机上都可以正常工作。然而,对于某些主机,在存档上调用 close() 速度非常慢,并且会导致超出执行时间。

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

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

关于为什么会这样以及如何解决它有什么想法吗?

最佳答案

例如,尝试通过 ftp 运行 fopen/fwrite/fclose。您会注意到 fopenfclose 需要一段时间才能执行,而 fwrite 是即时执行的。

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

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

关于PHP ZipArchive->close() 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11273555/

相关文章:

php - 个人资料页面 PHP + MySQL

php - MYSQL ORDER BY 子句不起作用

iis - 为什么 PPTX 从网站下载为 ZIP 文件?

asp-classic - 使用经典 ASP 和 VB 脚本对 ZIP 文件进行 Base64 编码

php - 以这种方式使用ajax有多安全?

PHP 替代品?

php - MySQL SELECT(多次)或 SELECT 一次,然后使用数组作为变量

linux - bash脚本zip文件名解析奇怪

javascript - 使用内置模块压缩文件夹

php - 仅使用 php 从 zip 文件中检索文件夹名称?