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
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.
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.
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
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 :)
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
<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>
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.
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.
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.
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/
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);
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
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
Eu fiz algumas mudanças no meu caso: xampp\phpMyAdmin_libraries\config.default.php
Eu procurei por :
$cfg['ExecTimeLimit']
e alterar o valor no lado direito...
Você pode alterar valor da mão direita para qualquer valor superior, como '5000'. e funciona.