Zkuste to udělat pomocí MySQL plánování :
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;
$$;
Kde tbl.updated
je vaše časové razítko (vygenerované pomocí php). Protože můj testovací box je nedosažitelný atm, nejsem si jistý, zda je tento dotaz správný, ale obecně by to mělo fungovat.