Как сделать обратный отчет на сервере через php?
php ориентирован на парадигму "как можно быстрее отдать ответ клиенту и умереть", в нем нет событийной модели.
Соответственно аналога setTimeout там нет.
Есть функция sleep но использовать её в таком ракурсе - варварство.
Если вам нужно обрабатывать какой то таймаут, правильное решение заносить эти таймауты в какую то таблицу для дальнейшей обработки, и обрабатывать истекшие задачи по крону например.
Чисто на сервере — добавлять задачу в cron. Выполняемый по cron'у скрипт сначала проверяет условие, на основе чего решает, продолжать выполняться или нет (ну или вызывает/не вызывает другой скрипт).