"A função set_time_limit () e a diretiva de configuração max_execution_time afetam apenas o tempo de execução do próprio script. Qualquer tempo gasto em atividades que ocorram fora da execução do script, como chamadas do sistema usando system (), operações de fluxo, consultas ao banco de dados, etc. não está incluído na determinação do tempo máximo em que o script está em execução. Isso não ocorre no Windows "Da documentação do PHP
Jacob Sánchez
Respostas:
722
Seu loop pode ser interminável. Caso contrário, você pode estender o tempo máximo de execução como este:
set_time_limit (300) pode ser usado para estender temporariamente o limite de tempo.
21713 Omn
Esse conjunto é definido apenas para esse script ou afetará todos os outros scripts executados após este no mesmo servidor?
Rao
11
@Rao sim, isso será apenas para esse script. Para torná-lo para todos os scripts, você precisa alterá-lo no arquivo php.ini. você também pode fazer set_time_limit (0); se quiser que o script para ser executado sempre, ou por um longo tempo
Haseeb
31
ini_set ('max_execution_time', 0); // no limit
Junaid Atari
3
@sangam Eu diria que é uma prática recomendada manter esse limite o mais baixo possível, permitindo uma certa quantidade de buffer extra. Por motivos de segurança, eu não gostaria de desativá-lo completamente. Deve ser definido como razoável. Na verdade, defino-o como o dobro do tempo que meu script mais longo leva para ser concluído em um nível médio de estresse do servidor. Ainda assim, sempre pode falhar. Portanto, a melhor prática também é lidar com problemas de tempo limite para scripts demorados separadamente.
Hafenkranich 13/11
185
Eu tive o mesmo problema e resolvi-o alterando o valor para o param max_execution_timein 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)
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 :)
@HarshaMV Ele quer dizer usar um perfil de desempenho para determinar por que o script é lento no início e otimizar seu código para melhorar o tempo de execução. Isso pode ou não ser útil, dependendo do gargalo (CPU x E / S de disco x Rede).
Dan Bechard
12
se todas as opções acima não funcionarem para você, adicione um .htaccessarquivo ao diretório em que seu script está localizado e coloque-o dentro
Em certos provedores de hospedagem pode ser necessário definir em /home/[username]/.php/7.0/phprc
expertCode
7
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.
Respostas:
Seu loop pode ser interminável. Caso contrário, você pode estender o tempo máximo de execução como este:
e
pode ser usado para estender temporariamente o limite de tempo.
fonte
Eu tive o mesmo problema e resolvi-o alterando o valor para o param
max_execution_time
inphp.ini
, assim:Espero que isso possa ajudá-lo.
fonte
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:
fonte
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.
fonte
Editar php.ini
Encontre esta linha:
Altere seu valor para 300:
300 significa 5 minutos de tempo de execução para a solicitação http.
fonte
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 :)
fonte
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 dentrofoi assim que resolvi meu problema,
ini_set('max_execution_time', 86400);
nemset_time_limit(86400)
resolvi, mas o método .htaccess resolveu.fonte
Podemos resolver esse problema de três maneiras diferentes.
1) Usando o arquivo php.ini
2) Usando o arquivo .htaccess
3) Usando o arquivo Wp-config.php (para Wordpress)
fonte
Você pode remover a restrição configurando-a como zero adicionando esta linha na parte superior do seu script:
fonte
Siga o caminho
/etc/php5(your php version)/apache2/php.ini
.Abra-o e defina o valor
max_execution_time
para o valor desejado.fonte
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.
fonte
Aumente o tempo de execução do script adicionando a seguinte linha na parte superior do script PHP.
A referência foi retirada de Aumentar o tempo de execução do script PHP
fonte
Para estender o seu,
max_execution_time
você pode usarini_set
ouset_time_limit
.!! Mas lembre-se de que, ambas as funções são reiniciadas também contando o tempo que o script já levou para executar
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 / errofonte
Você pode fazer isso facilmente com o WHM. Só tenho que:
(30 é o padrão, altere-o para qualquer valor que você desejar)
fonte
Eu tenho o mesmo problema no site WordPress, eu adicionei no arquivo .htaccess e funcionou bem para mim.
fonte
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.
fonte