Другие уже предложили использовать периодический скрипт cron, который, я бы сказал, вероятно, является лучшим вариантом, хотя, как упоминает Пол, это зависит от вашего варианта использования.
Однако я просто хотел обратиться к вашему вопросу напрямую, то есть, как работает демон в PHP? Ответ заключается в том, что он работает так же, как демон на любом другом языке - вы запускаете процесс, который не заканчивается немедленно, и помещаете его в фоновый режим. Затем этот процесс опрашивает файлы или принимает соединения с сокетами или что-то подобное, и при этом принимает некоторую работу.
(Это, очевидно, несколько упрощенный обзор, и, конечно, вам, как правило, нужно иметь механизмы для управления процессами, сигнализировать о корректном завершении работы службы и, возможно, интеграции в управление демонами операционной системы и т. Д., Но основы почти одинаковы.)