Desenvolvimento está acontecendo em local, num notebook com processador i5 memória ram de 6GB.
O windows é 65bits e o scriptcase é o 7.1 com PHP 5.4.
O sistema tem apenas 19 aplicações, mas neste caso estou tentando gerar somente dessa específica que no momento está com 1.300 linhas de código e ainda deve crescer um pouquinho mais. É uma rotina que busca vários dados no BD e monta uma tabela com inúmeras variáveis estatísticas.
O banco da aplicação é o MySQL.
Não sei lhe informar qual é o banco de dados dos fontes.
Ok era isso que eu queria pra entender… ok vamos a solução.
Então quebre sua rotina em MODULOS, entre no formulário que esta a rotina ai vai embaixo em > Programação > Métodos PHP, ai você dividindo ela em módulos e passando parâmetros com os dados entre eles você obtêm o resultado desejado, você pode criar uma biblioteca também para o projeto se desejar.
Abuse das Matrizes Arrays, For, While, Funções para cortar trechos repetitivos dos códigos.
Estou passando pelo mesmo problema, já dividi em vários métodos mas continua o mesmo erro.Alguém do suporte pode nos ajudar???Fatal error: Maximum execution time of 300 seconds exceeded in C:\Program Files (x86)\NetMake\v71\wwwroot\scriptcase\prod\third\adodb\drivers\adodb-mysql.inc.php on line 365
Full-time: 0:05:01
Se a sua rotina usa dados recorrentes do banco de dados porque vc não cria views no banco pra agilizar o processamento, ou então uma procedure e usa o php apenas pra processar o retorno.
Uma outra opção pra não ter que aumentar direto no php.ini o tempo é s´ó aumentar direto na aplicação.
No menu esquerdo da aplicação vá em:
Aplicações
Configurações
Timeout (altere aqui o timeout dessa aplicação)
O meu problema não é na execução da aplicação e sim na geração do código fonte, ou seja, o timeout era dado pelo scriptcase e não pela aplicação em si, eu resolvi o problema enxugando o código, evitando repetições e sintetizando ao máximo o código, feito isso a geração do código agora não passa de 30 segundos.
Creio que o SC também usa o PHP.ini para fazer a geração de seu código. Se estiver um código muito grande e o tempo de 300 sec não for suficiente, aumentando-o também resolve o problema. Enxugando seu código foi bom, resolveu, mas talvez se deparar com um código grande que mesmo enxugando o tempo de compilação for maior, tente aumentar essa DIRETIVA no php.ini.
O scriptcase também roda em cima do ambiente PHP, ele é desenvolvido em PHP. Então por lógica sua geração de código usa o PHP, sendo assim o php.ini também serve para o SC, tente mudar a DIRETIVA para 5 sec e tente gerar o código pra ver, eu não tentei, mais creio que vai dar a mesma mensagem.
Mesmo mudando max_execution_time = 3600 no php.ini continua o mesmo erro. Creio que seja um bug, o SC não esta aceitando muitas linhas de código.Tenho um método: function calculo_cartao_credito com 67 linha.
Tipo de aplicação: Formulário Estado: Erro Full-time: 0:05:01
Fatal error: Maximum execution time of 300 seconds exceeded in C:\Program Files (x86)\NetMake\v71\wwwroot\scriptcase\prod\third\adodb\drivers\adodb-mysql.inc.php on line 365
Pode procurar então que tem algum erro de lógica no seu código e o SC não esta conseguindo validar.
67 linhas não é nada, se você abrir uma aplicação gerada vai ver que pra um mero blank sem nada dentro o sc gera um arquivo com mais de 3000 linhas.
Já tive um problema parecido e era erro de lógica na minha aplicação causando com isso dificuldades pro SC encaixar meu código nas rotinas padrões dele. Não me lembro exatamente o que foi mas já passei por um problema parecido.
Prezados bom dia. Peço até desculpas por “ressuscitar” o tópico, porém após a atualização do scriptcase para a última versão estou passando por este problema. já atualizei o php.ini para valores superiores aos “300” segundos, porém o erro sempre é este.
Caso alguém tenha encontrado soluções distintas do já colocado aqui e puder ajudar, agradeço.
Saduações.
Erro:
Fatal error: Maximum execution time of 300 seconds exceeded in C:\Program Files (x86)\NetMake\v71\wwwroot\scriptcase8\devel\class\generator\nmDados.class.php on line 5804
Na realidade ficou apenas a pasta, à época que atualizei ficou na mesma pasta do 7.1, porém a versão 8 sempre funcionou legal, apenas agora esta questão com a 8.1 que não consegui alterar o tempo máximo de execução.
Prezados boa noite.
Refiz a instalação completa novamente, porém nada ainda. Ao verificar o phpinfo() max_execution_time está com o valor de 3600, teoricamente o erro não era para ser 300 correto?
Erro:
Fatal error: Maximum execution time of 300 seconds exceeded in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\devel\class\generator\nmDados.class.php on line 5804
Alterei conforme sugerido. Ao tentar gerar a aplicação ainda acontece o mesmo erro, mesmo com as informações do phpinfo() condizentes com a alteração realizada no arquivo php.ini. Quando utilizava a versão anterior (8.0) a mesma aplicação rodava sem nenhum problema e não apresentava qualquer erro. Muito estranho.
Erro:
Fatal error: Maximum execution time of 300 seconds exceeded in C:\Program Files (x86)\NetMake\v81\wwwroot\scriptcase\devel\class\generator\nmDados.class.php on line 5801