Bekijk deze tutorial over transacties met PDO.
Wikkel in feite de langlopende code in:
$dbh->beginTransaction();
...
$dbh->commit();
En volgens deze BOB-documentpagina :
"Wanneer het script eindigt of wanneer een verbinding op het punt staat te worden gesloten, als u een openstaande transactie heeft, zal PDO deze automatisch terugdraaien. "
U verliest dus de transactie die in behandeling was toen het script een time-out kreeg.
Maar eigenlijk zou je dit opnieuw moeten ontwerpen, zodat het er niet van afhangt dat het script in leven blijft.