Вы должны попробовать это, просто скрипт, который спит больше, чем ваше максимальное время выполнения.
sleep(ini_get('max_execution_time') + 10);
Прочитайте это: Under Linux, sleeping time is ignored, but under Windows, it counts as execution time.
Это, как вы можете получить время вычисления и системные вызовы времени.
// Script start
$rustart = getrusage();
// Code ...
// Script end
function rutime($ru, $rus, $index) {
return ($ru["ru_$index.tv_sec"]*1000 + intval($ru["ru_$index.tv_usec"]/1000))
- ($rus["ru_$index.tv_sec"]*1000 + intval($rus["ru_$index.tv_usec"]/1000));
}
$ru = getrusage();
echo "This process used " . rutime($ru, $rustart, "utime") .
" ms for its computations\n";
echo "It spent " . rutime($ru, $rustart, "stime") .
" ms in system calls\n";
На самом деле, более вероятно, что вы используете Windows и тему стартера Unix. Дело в том, что 'set_time_limit' должен влиять только на время выполнения скрипта и NOT системные вызовы, что и делает' sleep() ', но он не работает под Windows и также учитывает системные вызовы. – Cthulhu