What are the best practices for determining online user status on high-traffic websites using PHP, considering the limitations of JavaScript and server load?

Issue: Determining online user status on high-traffic websites using PHP can be challenging due to the limitations of JavaScript and the potential server load. One approach to address this is by using a combination of server-side tracking and periodic updates to determine user activity.

// PHP code snippet to determine online user status

// Start session
session_start();

// Set user as online
$_SESSION['last_activity'] = time();

// Check and update user status periodically
if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > 300)) {
    // User inactive for 5 minutes, consider them offline
    // Perform necessary actions such as updating database or user status
    // Reset last activity time
    $_SESSION = array();
    session_destroy();
}