It would not surprise me that a hosting service would protect its servers from getting overloaded with long-running scripts, and would configure a time-out after which such scripts are aborted (see PHP: Runtime Configuration Settings and max_execution_time in particular).
If you have a PC that can stay turned on, an alternative solution would be to let it send a request to the server every 5 minutes:
############################################################################
<?php
?>
<script>
setTimeout(function () { window.location.reload(); }, 5*60*1000);
document.write(new Date());
</script>
############################################################################