$php_max_exec) $minexectime = $php_max_exec; // Get current timestamp and calculate how much time has passed list($usec, $sec) = explode(" ", microtime()); $end_time = ((float)$usec + (float)$sec); $elapsed_time = 1000 * ($end_time - $start_time); // Only run a sleep delay if we haven't reached the minexectime execution time if( ($minexectime > $elapsed_time) && ($elapsed_time > 0) ) { $sleep_msec = $minexectime - $elapsed_time; if(function_exists('usleep')) { usleep(1000 * $sleep_msec); } elseif(function_exists('time_nanosleep')) { $sleep_sec = round($sleep_msec / 1000); $sleep_nsec = 1000000 * ($sleep_msec - ($sleep_sec * 1000)); time_nanosleep($sleep_sec, $sleep_nsec); } elseif(function_exists('time_sleep_until')) { $until_timestamp = time() + $sleep_msec / 1000; time_sleep_until($until_timestamp); } elseif(function_exists('sleep')) { $sleep_sec = ceil($sleep_msec/1000); sleep( $sleep_sec ); } } elseif( $elapsed_time > 0 ) { // No sleep required, even if user configured us to be able to do so. } } }