Erro fatal: Tempo máximo de execução de 30 segundos excedido

Estou a descarregar um ficheiro JSON a partir de uma fonte online e quando ele corre através do laço estou a receber este erro:

Erro fatal: Tempo máximo de execução de 30 segundos excedido em C:wampwwwwwwtempch.php na linha 24

Comentários sobre a pergunta (1)
Solução

O seu laço pode ser interminável. Se não o for, poderá prolongar o tempo máximo de execução desta forma:

ini_set('max_execution_time', 300); //300 segundos = 5 minutos

e

set_time_limit(300);

pode ser utilizado para prolongar temporariamente o limite de tempo.

Comentários (7)

Tive o mesmo problema e resolvi-o alterando o valor para o paramáx_execution_time em php.ini, desta forma:

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 isto o possa ajudar.

Comentários (5)

Todas as respostas acima estão corretas, mas eu uso uma maneira simples de evitá-lo em alguns casos.

Basta colocar este comando no início do seu script:

set_time_limit(0);
Comentários (3)

Encontrei este problema ao actualizar para **WordPress 4.0**. Por padrão, o WordPress limita o tempo máximo de execução a 30 segundos.*

Adicione o seguinte código ao seu arquivo .htaccess em seu diretório raiz do seu WordPress Instalação para sobrepor o padrão.

php_value max_execution_time 300  //where 300 = 300 seconds = 5 minutes
Comentários (0)

Editar **php.ini***

Encontre esta linha:

max_execution_time

Altere o seu valor para 300:

max_execution_time = 300

300 significa 5 minutos de tempo de execução para o pedido http.

Comentários (0)

O seu guião está a ser calendarizado. Dê uma olhada na função set_time_limit() para aumentar o tempo de execução. Ou faça o perfil do guião para o fazer correr mais rapidamente :)

Comentários (2)

se tudo o acima não funcionou't funcionar para você então adicione um arquivo .htaccess ao diretório onde seu script está localizado e coloque isso dentro


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

esta foi a forma como resolvi meu problema , nem ini_set('max_execution_time', 86400); nem set_time_limit(86400) resolveram meu problema , mas o método .htaccess resolveu.

Comentários (1)

Podemos resolver este problema de 3 maneiras diferentes.

  1. Usando o arquivo php.ini

  2. Usando o arquivo .htaccess

  3. Usando o arquivo Wp-config.php ( para Wordpress )

Comentários (0)

Você pode remover a restrição, definindo-a como zero, adicionando esta linha no topo do seu script:

<?php ini_set('max_execution_time', 0); ?>
Comentários (0)

Talvez verifique qualquer coisa que você tenha mudado no arquivo php.ini. Por exemplo, eu alterei o ";intl.default_locale =" para ";intl.default_locale = en_utf8" a fim de ativar a extensão "Internacionalização (Intl)" sem adicionar o "extension=php_intl.dll" então este mesmo erro ocorreu. Então eu sugiro verificar por erros semelhantes.

Comentários (0)

Siga o caminho /etc/php5(sua versão php)/apache2/php.ini.

Abra-o e defina o valor de `max_execution_time' para um desejado.

Comentários (1)

Aumente o tempo de execução do seu script adicionando a seguinte linha no topo do script PHP.

ini_set('max_execution_time', 120); //120 seconds = 2 minutes

A referência foi retirada de [Increase the PHP Script Execution Time][1].

[1]: http://www.codexworld.com/how-to-guides/increase-php-script-execution-time/

Comentários (0)

Para estender seu [max_execution_time][1] você pode utilizar ou [ini_set][2] ou [set_time_limit][3].

// Set maximum execution time to 10 seconds this way
ini_set('max_execution_time', 10);
// or this way
set_time_limit(10);

**!! Mas saiba que, ambas as funções reiniciam também a contagem do tempo que o script já levou para ser executado***!

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ê quiser definir o tempo máximo exato de execução do script, seu comando deve ser o primeiro.

As diferenças entre essas duas funções são

  • [set_time_limit`][3] não retorna informações se foi bem sucedido, mas irá lançar um aviso de erro.
  • [ini_set][2] retorna valor antigo sobre o sucesso, ou falso sobre falha sem qualquer aviso/erro

[1]: http://php.net/manual/en/info.configuration.php#ini.max-execution-time [2]: http://php.net/manual/en/function.ini-set.php [3]: http://php.net/manual/en/function.set-time-limit.php

Comentários (0)

você o cando facilmente com whm . Apenas tem que whm----->configuração do serviço---------->editor de configuração php-------max_execution_time----->30(é padrão mudá-lo para o valor que você quiser)

Comentários (0)

Eu tenho o mesmo problema no site WordPress, Eu adicionei no arquivo .htaccess e depois funcionou bem para mim.

php_value max_execution_time 6000000
Comentários (0)

Eu fiz algumas mudanças no meu caso: xampp\phpMyAdmin_libraries\config.default.php

Eu procurei por : $cfg[&#39;ExecTimeLimit&#39;] e alterar o valor no lado direito...

Você pode alterar valor da mão direita para qualquer valor superior, como '5000'. e funciona.

Comentários (0)