PHP在创建大型.zip文件时中止

bla*_*ang 9 php zip ziparchive

我的php脚本使用ZipArchive()运行在CentOS 5.6和PHP 5.2.12上,并成功创建了超过1.6Gb的.zip文件,但没有更大的2GB或更大的存档 - PHP中止没有明显的错误.PHP错误日志或stderr中没有任何内容.该脚本正在cmd行执行,而不是以交互方式执行.

该脚本运行大约8分钟,临时存档增长,在检查文件大小时,最后一个列表显示tmp文件大小为2120011776,然后tmp文件消失,PHP脚本通过逻辑运行并在存档创建后执行代码.

出于某种原因,顶部显示CPU仍然处于95%并且正在创建一个新的tmp存档文件 - 它执行此操作再说5分钟以上并静默停止并保留未完成的tmp存档文件.在这个测试中 - 有不到4000个预期的文件.

所述脚本可以很好地创建较小的存档文件.

测试了几组不同的大型源数据 - 大文件的结果相同.

这个问题听起来类似于这个问题: PHP的zipArchive类的大小限制?

我想也许ls -l命令返回2K块的计数,因此2120011776将接近4GB但是该大小以字节为单位 - xxxx.zip.tmpxx文件的大小.

谢谢!

Sou*_*rav -2

php.ini 中有一个最大执行时间的设置,
也许这​​会被解雇!
努力增加价值!

操作系统也有不同的文件大小限制,也请尝试检查一下!