Estou baixando um arquivo JSON de uma fonte online e, quando ele é executado no loop, estou recebendo este erro:
Erro fatal: tempo máximo de execução de 30 segundos excedido em C: \ wamp \ www \ temp \ fetch.php na linha 24
Estou baixando um arquivo JSON de uma fonte online e, quando ele é executado no loop, estou recebendo este erro:
Erro fatal: tempo máximo de execução de 30 segundos excedido em C: \ wamp \ www \ temp \ fetch.php na linha 24
Respostas:
Seu loop pode ser interminável. Caso contrário, você pode estender o tempo máximo de execução como este:
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
e
set_time_limit(300);
pode ser usado para estender temporariamente o limite de tempo.
Eu tive o mesmo problema e resolvi-o alterando o valor para o param max_execution_time
in php.ini
, assim:
max_execution_time = 360 ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)
max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB by default)
Espero que isso possa ajudá-lo.
php.ini
pode ser encontrado em /etc/php5/apache2/php.ini
.... Estou usando o ubuntu 13.04 ...
Todas as respostas acima estão corretas, mas em alguns casos utilizo uma maneira simples de evitá-la.
Basta colocar este comando no início do seu script:
set_time_limit(0);
Corri para esse problema ao atualizar para o WordPress 4.0 . Por padrão, o WordPress limita o tempo máximo de execução para 30 segundos.
Adicione o seguinte código ao seu arquivo .htaccess no diretório raiz da instalação do WordPress para substituir o padrão.
php_value max_execution_time 300 //where 300 = 300 seconds = 5 minutes
Editar php.ini
Encontre esta linha:
max_execution_time
Altere seu valor para 300:
max_execution_time = 300
300 significa 5 minutos de tempo de execução para a solicitação http.
Seu script está expirando. Dê uma olhada na função set_time_limit () para aumentar o tempo de execução. Ou crie um perfil do script para torná-lo mais rápido :)
se todas as opções acima não funcionarem para você, adicione um .htaccess
arquivo ao diretório em que seu script está localizado e coloque-o dentro
<IfModule mod_php5.c>
php_value post_max_size 200M
php_value upload_max_filesize 200M
php_value memory_limit 300M
php_value max_execution_time 259200
php_value max_input_time 259200
php_value session.gc_maxlifetime 1200
</IfModule>
foi assim que resolvi meu problema, ini_set('max_execution_time', 86400);
nem set_time_limit(86400)
resolvi, mas o método .htaccess resolveu.
Você pode remover a restrição configurando-a como zero adicionando esta linha na parte superior do seu script:
<?php ini_set('max_execution_time', 0); ?>
Siga o caminho /etc/php5(your php version)/apache2/php.ini
.
Abra-o e defina o valor max_execution_time
para o valor desejado.
Talvez verifique alguma coisa que você tenha alterado no arquivo php.ini. Por exemplo, alterei "; intl.default_locale =" para "; intl.default_locale = en_utf8" para ativar a "Extensão de internacionalização (Intl)" sem adicionar a "extension = php_intl.dll" ; ocorreu o mesmo erro. Então, sugiro verificar se há erros semelhantes.
Aumente o tempo de execução do script adicionando a seguinte linha na parte superior do script PHP.
ini_set('max_execution_time', 120); //120 seconds = 2 minutes
A referência foi retirada de Aumentar o tempo de execução do script PHP
Para estender o seu, max_execution_time
você pode usar ini_set
ou set_time_limit
.
// Set maximum execution time to 10 seconds this way
ini_set('max_execution_time', 10);
// or this way
set_time_limit(10);
sleep(2);
ini_set('max_execution_time', 5);
register_shutdown_function(function(){
var_dump(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);
});
for(;;);
//
// var_dump outputs float(7.1981489658356)
//
portanto, se você deseja definir a quantidade máxima exata de tempo que o script pode executar, seu comando deve ser o primeiro.
As diferenças entre essas duas funções são
set_time_limit
não retorna informações se foi bem-sucedido, mas emitirá um aviso de erro.ini_set
retorna valor antigo em caso de sucesso ou falso em caso de falha sem aviso / erroEu tenho o mesmo problema no site WordPress, eu adicionei no arquivo .htaccess e funcionou bem para mim.
php_value max_execution_time 6000000
Fiz algumas alterações no meu caso em: xampp \ phpMyAdmin \ libraries \ config.default.php
Eu procurei por: $cfg['ExecTimeLimit']
e altere o valor no lado direito ...
Você pode alterar o valor da mão direita para qualquer valor mais alto, como '5000'. e funciona.