Si devi accedere alla pagina,e ogni volta che lo fai il timer riparte.
Per esempio se uno accede alla pagina alle 17.00 l'esecuzione la volta successiva avverrà alle 17.15,poi alle 17.30.
Se uno però visita di nuovo la pagina alle 17.02,le future esecuzioni saranno alle 17.17 e alle 17.32
Forse io ho capito la tua paura,quella che un utente visiti la pagina azzerando il timer.
Ho avuto anch'io la stessa preoccupazione

Potresti risolvere però mettendo un parametro get nascosto che avvii l'applicazione in questo modo:
<?php
if ($_GET[action]=="avvia_timer"){
ignore_user_abort(); // funzione per far continuare l'esecuzione dello script anche dopo la chiusura della pagina
set_time_limit(0); // funzione per far continuare lo script all'infinito
$interval=60*15; // ogni 15 minuti...
do{
// funzioni da svolgere ogni 15 minuti
sleep($interval); // funzione per attendere 15 minuti dopo l'intervento
}while(true);
}
else{exit();}?>
Ora l'esecuzione avverrà soltanto se alla querystring della pagina richiamata viene aggiunto:
"action=avvia_timer"
In alternativa si può creare un login da amministratore che stabilisce una sessione e svolgere l'operazione solo se a sessione stabilita
Se invece vuoi creare più timer puoi costruire un file per ogni operazione da svolgere e avviarli...
Ciao!