Как узнать когда пользователь покинул мой сайт на php?
1. на РНР - точно нельзя.
2. Если страница открыта, то это совсем не значит, что пользователь её читает. Он может быть в другой программе или вообще на кухне
3. Идея заведомо дурацкая и не стоит ни одной минуты времени, затраченной на неё.
Ну как вариант мааааленький скриптик на JavaScript

let timerId = setInterval(function(){
    let request = new XMLHttpRequest();
    request.open('GET', 'https://mysite.com/i-am-online.php', true);
    request.send();
}
,60000); //количество миллисекунд через которое отправлять запрос, допустим раз в минуту

ну а тут https://mysite.com/i-am-online.php сохраняем время последнего посещения