0

私のサーバーには、いくつかのディレクトリを 1 つの zip ファイルに圧縮する php スクリプトがあります。通常、すべて正常に動作します。今日、通常より時間がかかり、「内部サーバー エラー」というページで終了します。

zip が作成されたディレクトリを確認すると、zip がそこに半分ほど入っているように見えます (ファイルが本来あるべきサイズの約半分であり、破損しているため)。

私のログでは、これがエラーとして表示されます: mod_fcgid: プロセス 30172 グレースフル キルの失敗、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();

助けてくれてありがとう。

4

0 に答える 0