$t = time() if ( 0 === $t % 300 )
Nein, das reicht nicht, weil ich nicht garantieren kann, einen Treffer zu erzeugen. Es ist schon schön, dass meine Lösung einen Zeitraum von 1 Minute umfasst.
Kannst Du eh nicht. Das kann nur der Trick mit dem Flagfile. Wenn das älter als 5 Minuten ist setzt Du SOFORT die Zeit neu und machst danach den anderen Krempel.
(Ansonsten:)
$m = floor( time()/60 );
if ( 0 === $m % 5 )