Вы должны использовать JavaScript.
Один из способов сделать это - заставить браузер пользователя пинговать сервер каждые пять минут или около того. Если пользователь не пингует сервер в течение 6-7 минут, он ушел.
edit: Чтобы дать немного больше подробностей, вам нужно отправить слепый ajax-запрос на сервер (так что не беспокойтесь о получении ответа или чего-либо еще). Сценарий, получающий запрос, должен обновить поле «последний пинг» пользователя в вашей базе данных или где-либо еще. Чтобы найти последний раз, когда они посетили, это «последний пинг» + время между пингами.
Это на самом деле не нужно, если вы просто хотите перечислить новые комментарии, так как в этом случае вы можете просто записывать время, когда пользователь просматривает страницу, и отображать комментарии с тех пор при следующем посещении пользователем (как упомянул FryGuy) .
Однако метод ping действительно решает ваш вопрос о том, сколько времени прошло с момента последнего посещения пользователя.
Одна очевидная проблема заключается в том, что у пользователя нет JavaScript. Чтобы свести к минимуму проблемы, вызванные этим, обновляйте «последний пинг» PHP каждый раз, когда пользователь просматривает страницу.