我的服务器上有一个 php 脚本,它将几个目录压缩到 1 个 zip 文件中。通常,一切运行良好。今天,它比平时花费的时间更长,然后以显示“内部服务器错误”的页面结束。
当我检查创建 zip 的目录时,似乎 zip 大约到了一半(因为文件大约是它应该大小的一半并且已损坏)。
在我的日志中,我将此视为错误: mod_fcgid: process 30172 graceful kill fail, sent SIGKILL
任何想法是什么问题?
这是我正在使用的代码(请注意,它大部分时间都可以正常工作):
$zipFolders[] = 'httpdocs/';
$zipFolders[] = 'includes/';
$zip = new ZipArchive();
if ($zip->open($sourceFileName, ZIPARCHIVE::CREATE) !== TRUE) die ("Could not open archive");
foreach ($zipFolders as $zipFolder)
{
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($zipFolder));
foreach ($iterator as $key=>$value)
{
if ( (substr($key, -1) != '.')&&(substr($key, -2) != '..') ) {
$zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
}
}
}
$zip->close();
谢谢你的帮助。