创建大型.zip文件时PHP中止
|
我的php脚本使用ZipArchive()在CentOS 5.6和PHP 5.2.12上运行,并成功创建了1.6Gb以上的.zip文件,但没有为2GB或更大的较大存档创建-php中止,没有明显错误。 PHP错误日志或stderr中没有任何内容。该脚本是在cmd行而不是交互地执行的。
该脚本运行了大约8分钟,临时存档增长,并且在检查文件大小的同时,最后一个清单显示tmp文件的大小为2120011776,然后tmp文件消失了,PHP脚本通过逻辑落入并在创建存档后执行了代码。
出于某种原因,top显示了CPU仍处于95%的状态,并且正在创建一个新的tmp存档文件-这样做又花了5分钟以上的时间,然后默默地停止并留下未完成的tmp存档文件。在此测试中-预期文件少于4000个。
如上所述的脚本可以很好地创建较小的存档文件。
在几组不同的大型源数据上进行了测试-大型文件的结果相同。
这个问题听起来类似于以下问题:
PHP的zipArchive类的大小限制?
我以为ls -l命令可能返回2K块的计数,因此2120011776将接近4GB,但该大小以字节为单位-xxxx.zip.tmpxx文件的大小。
谢谢!
没有找到相关结果
已邀请:
4 个回复
厢界山攀
结乳
疾桓
部窖空