Mudar tempo de execução máximo de script PHP


Se um script demora muito tempo para terminar suas tarefas, é provável que ele seja finalizado automaticamente por exceder o limite de tempo de execução de script. Se isso vier a ocorrer, você verá a mensagem: Fatal error: Maximum execution time of 30 seconds exceeded.

Esse erro é tipo uma segurança do PHP para evitar que scripts com falhas fiquem sendo executados infinitamente, consumindo constantemente recursos do teu servidor web. Contudo, quando você está executando um script legítimo, que sabidamente irá consumir bastante tempo (ao menos mais que 30 segundos) convém aumentar esse limite de tempo de execução.

Mudar tempo de execução máxima de script PHP

Como aumentar o tempo de execução máxima de script PHP? Bem, o PHP permite você fazer isso em tempo de execução (run time). Veja o código abaixo:

1
set_time_limit(0);
set_time_limit(0);

Isso retirará qualquer limite de tempo. Teoricamente falando, teu script poderia ficar sendo executado infinitamente sem nenhum limite de tempo. Claro que somente em casos muito específicos você via querer deixar esta configuração. O ideal é definir um limite que seja suficiente para concluir as tarefas.

Por exemplo, se você sabe que o teu script vai levar mais ou menos 10 minutos para concluir a tarefa, coloque como limite 20 minutos. O dobro do tempo estimado é mais que suficiente, não? Note que você deve informar a função set_time_limite o tempo em segundos, assim sendo, 20 minutos resultará em 20 vezes 60 que será 1200 segundos. Por fim, o código ficará assim:

1
set_time_limit(1200);
set_time_limit(1200);

Conclusão

Para concluir, note que você precisa adicionar o código que modifica o limite de tempo de execução de script php preferencialmente no topo da página ou pelo menos antes do código que demorará a ser executado. Se você iniciar o processo de execução demorado e depois modificar o limite, teu trabalho será em vão.

Amigos, fica a dica, até o próximo post aqui no blog!

Mudar tempo de execução máximo de script PHP
4.8 (96.25%) 16 votes

Leave a Reply