em

Como alterar o tempo de execução de scripts php sem ter acesso ao php.ini

Neste tutorial sobre max_execution_time do PHP vamos mostrar como alterar o tempo de execução dos scripts PHP sem precisar ter acesso ao arquivo de configuração do PHP, o php.ini de um jeito bastante simples e direto!

php,ini

Trago como exemplo uma situação onde precisei em uma aplicação de upload de imagens que desenvolvi tempos atrás para um cliente que possuía um plano de hospedagem comum, ao qual senti uma dificuldade em relação ao tempo de execução dos scripts, que por padrão não ultrapassa 30 segundos.

Imagine então enviar simplesmente 10 imagens, mesmo que com apenas 100kb cada ou ainda a possibilidade de executar uma tarefa em mais de 100 imagens dentro de uma pasta no servidor… 😐 sem chances com míseros 30 segundos.

Existe a diretiva chamada max_execution_time que por padrão está setada com o valor 30 referente à 30 segundos e que se você tiver acesso ao php.ini é tranquilo e poderá alterar ali mesmo, porém em hospedagem compartilhada não adianta nem solicitar ao suporte para alterar, pois eles não o farão.

Vou ajudar a resolver este problema de forma bem simples utilizando a função do php chamada ini_set().
A primeira coisa é procurar saber se a diretiva safe_mode no php.ini está off, pois se estiver on, não funcionarão as dicas deste tutorial.

Sabendo então que a diretiva está off, bastará incluir no topo dos teus arquivos a seguinte linha:

ini_set('max_execution_time', 60);

Desta forma altera o tempo padrão para 60 segundos, mas você pode alterar para o tempo que quiser.

Se quiser alterar para um tempo ilimitado, basta definir da seguinte forma:

ini_set('max_execution_time', 0);

Observação: Não recomendo um tempo ilimitado, mas fica por sua própria conta e risco a utilização nesse modo.

Se não sabe se a diretiva no seu php.ini está como off ou on, recomendo criar um arquivo php que poderá nomea-lo apenas como info.php e no conteúdo deste arquivo coloque :

<?php phpinfo(); ?>

Depois envie para raiz do servidor de hospedagem e acesse pelo seu navegador web preferido (recomendo Firefox) o seguinte endereço:

http://teusite/info.php

Aproveite para analisar com atenção essas informações, buscando saber o que significa tudo isso, mas o que nos interessa neste momento é a diretiva safe_mode, sendo assim utilize as opções de teu navegador para achar a palavra safe_mode… (no Firefox é F3 para aparecer a caixa de busca)… se na primeira busca não achar exatamente o que procura, pressione próximo até achar e veja o valor definido para safe_mode.

Espero ter ajudado com esta simples explicação sobre a diretiva max_execution_time do PHP.
Qualquer coisa que tenha faltado ou dúvida que tenha ficado, deixa um comentário mais abaixo.

Gostou dessa matéria?

Inscreva seu email para receber atualizações com as últimas publicações do nosso blog.

Deixe o seu comentário: