使用PHP脚本60秒后,我一直收到500个内部服务器错误

使用PHP脚本60秒后,我一直收到500个内部服务器错误,php,apache,internal-server-error,php-ini,Php,Apache,Internal Server Error,Php Ini,首先,我打开了PHP错误,但当我运行此脚本时,我不断收到这500个错误: <?php error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); $location = '/dir/'; mkdir($location.date('Y-m-d'), 0700); $yesterday = date("Y-m-d", strtotime("-1 day")); function createZipFromDir($dir, $

首先,我打开了PHP错误,但当我运行此脚本时,我不断收到这500个错误:

<?php

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
$location = '/dir/';

mkdir($location.date('Y-m-d'), 0700);

$yesterday = date("Y-m-d", strtotime("-1 day"));

function createZipFromDir($dir, $zip_file) {
    $zip = new ZipArchive;
    if (true !== $zip->open($zip_file, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)) {
        return false;
    }
    zipDir($dir, $zip);
    return $zip;
}

function zipDir($dir, $zip, $relative_path = DIRECTORY_SEPARATOR) {
    $dir = rtrim($dir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
    if ($handle = opendir($dir)) {
        $i=0;
        while (false !== ($file = readdir($handle)) || $i < 5) {
            if (file === '.' || $file === '..') {
                continue;
            }
            if (is_file($dir . $file)) {
                $zip->addFile($dir . $file, $file);
            } elseif (is_dir($dir . $file)) {
                zipDir($dir . $file, $zip, $relative_path . $file);
            }
            $i++;
        }
    }
    closedir($handle);
}

createZipFromDir($location.$yesterday, 'files.zip');

?>

该脚本基本上每天将一个文件夹归档到一个ZIP文件中。当我用小文件测试脚本时,我可以确认它工作正常。但这一次,它试图归档几百mb的数据

我的max_execution_time在php.ini文件中设置为18000,这是正确的,因为它显示在我的phpinfo()文件中

有人知道我为什么会有500个内部错误吗


Peter

您或您的宿主已将PHP安装为CGI包装器。这就是问题所在。如果Web服务器自动终止进程,您将无法处理执行时间。您如何确定,有什么办法可以解决此问题?请尝试增加内存大小。我使用同一主机执行脚本的时间比以前更长我的内存大小为12000M,这无助于增加它