Essayez de le faire avec MySQL planification :
DELIMITER $$
CREATE EVENT deactivation
ON SCHEDULE EVERY 10 MINUTE STARTS CURRENT_TIMESTAMP
DO
BEGIN
UPDATE tbl SET tbl.active = FALSE
WHERE tbl.active = TRUE AND
( TIME_TO_SEC( TIMEDIFF (NOW(),tbl.updated) ) / 60 ) > 10;
END;
$$;
Où tbl.updated
est votre horodatage (généré avec php). Comme ma boîte de test est inaccessible, je ne sais pas si cette requête est correcte, mais en général, elle devrait faire l'affaire.