Чтобы реализовать вашу идею, нужен стек, где сервер выступает в роли ведущего по части отправки http-запроса клиенту. Сервер PHP, обычно, выступает в роли ведомого - когда клиент соизволит сделать запрос, тогда сервер может проанализировать, жив ли клиент. В случае с WebSocket можно на стороне сервера понять, закрылось ли соединение, не дожидаясь внятного ответа от клиента.
Сервер PHP может в WebSocket, но реализации у него кривые. На эту роль идеально подходят NodeJS + WebSocket.
С PHP вы только можете отслеживать, когда последний раз клиент отправлял запрос - если больше условных 10 минут назад, то он скорее мертв, чем жив.