e se semplicemente metti in testa allo script set_time_limit(0)?

Zero non vuol dire "zero secondi" ma rimuove il time out di esecuzione