首先我启用了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的数据。
我的php.ini文件中的max_execution_time设置为18000,这是正确的,因为它显示在我的phpinfo()文件中。
有谁知道我为什么会收到500内部错误?
彼得