Eu suponho que você já tenha set_time_limit (0) em PHP para desligar o tempo de execução do PHP max para aquele script específico? link
Se você não tentou - provavelmente é a resposta - se você tentou - então continue lendo ...
O Linux permite que você configure um tempo máximo de execução para processos do usuário - hosts compartilhados geralmente fazem isso como um método seguro para matar quaisquer scripts que travam (caso contrário você pode ter que reiniciar o servidor para eliminá-los - no mínimo um sysadmin para fazer isso manualmente)
Não consigo encontrar as informações que vi antes - tenho certeza de que é uma extensão desse link
De qualquer forma, você terá que encontrar uma maneira de acelerar seu script. Por que leva 45 minutos para ser executado? Você pode quebrá-lo em segmentos? - Aguardar 45 minutos por uma resposta de um servidor web não é realmente utilizável (e se você clicar em atualizar e executar o seu script várias vezes - ou um web-spider o atingir e disparar sem você saber ... o servidor pode ser negativamente afetado?)