server (php) -> client (browser) коммуникации возможны следующими способами:
1. правильный - с использованием javascript и технологии
websocket, для этого тебе нужен websocket
сервер (запущенный рядом на сервере или даже где угодно) либо модуль веб сервера, позволяющий php серверу отправлять короткие запросы типа
такого но не рекомендую так схему выстраивать)
2. устаревший но в принципе рабочий - технология long pooling, в браузере так же должен быть javascript, обычный веб сервер должен уметь отдавать клиенту по запросу (а скажи ка мне что ты хочешь) желаемую команду, с бесконечным (до таймаута и повтор) ожиданием события, т.е. клиент запрашивает у сервера - есть от тебя команды, и при получении - считает что сервер прислал ее, а сервер при запросе задерживает ответ, высылая для приличия в канал пустышки, например пробелы раз в минуту. Этот способ очень универсальный и заработает на старых браузерах, в которых нет поддержки websocket, так же серверная реализация очень проста.
кстати javascript может запрашивать эту страницу в основном двумя способами - ajax (обобщенно так зовут способы отсылки запросов из javascript к серверу) и добавление тега script с нужным url, а веб сервер туда возвращает что то типа
msgReceivedCallback(json...данные);
3. для прикола - очень старый способ, когда в браузерах не было даже javascript, с помощью фреймов и тега
<meta http-equiv="refresh" content="10;URL=http:/site.ru">
можно контролировать автоматическое обновление частей страниц, а с помощью настроек кеширования в заголовках, веб сервер контролирует частоту реальных запросов (а так же изменение времени обновления в этом теге), я помню даже вебчаты в локалке на этой технологии.