Tempo de execução máximo de um script PHP

Recentemente criei um script PHP que executava um processamento de dados intensivo. Ao correr esse script o processamento parava incompleto e obtia um erro do PHP:

“Fatal error: Maximum execution time of 30 seconds exceeded in /localhost/script.php”

Isto é um mecanismo de segurança do PHP. Por omissão limita a 30 segundos o tempo de execução de um script. Isto pode ser útil na maioria dos casos, mas neste específico não interessa pois fico com o processamento incompleto, tornando o inútil o script.

Para resolver este problema, o PHP tem uma função que se coloca no script desejado e permite definir o tempo limite para este executar:

<?php set_time_limit(0) ?>

Esta função recebe o parâmetro do tempo limite em segundos. Se for 0 é considerado sem limite. E deste modo resolve-se facilmente o problema que encontrei. Convém colocar essa função logo antes do pedaço de código que efectua o processamento intenso e depois desse código voltar a chamar a função com o valor 30 para ficar o restante código do script protegido contra longas execuções imprevistas.


 
 
 

One Response to “Tempo de execução máximo de um script PHP”

  1. Guilherme Vinicius
    29. September 2008 at 22:18

    Cara esse comandinhu resolveu meu problema de manipulação de imagens. meu script de gerar miniaturas de uma determinada pasta de imagens estava dando timeout no servidor. coloquei o comando no meu arquivo global e funcionou perfeitamente. obrigado.

Leave a Reply