Solo con PHP non puoi risolvere.
Con PHP quando l'utente tenta di accedere alla pagina puoi vedere che ore sono e decidere se fare un redirect con header(), ma se un utente apre la pagina in orario consentito e resta lì anche dopo le 24 la pagina resta visibile, perché PHP non ha controllo sulle pagine renderizzate sul browser. In tal caso devi anche prevedere del codice JS che ha la possibilità di funzionare sul browser.
Chiaramente se l'utente interagisce con la pagina in modo che l'azione richiede l'intervento del server, allora hai di nuovo la possibilità di controllare con PHP che ore sono e decidere cosa fare.