Como eliminar o erro “Maximum execution time” no PHP

168 2

Quando comecei a criar os primeiros sites usando CMSs escritos em PHP, um dos erros que mais ocorriam era o de “Maximum execution time excedded”, ou algo parecido. No princípio pensei que o problema fosse com a minha máquina, cujas configurações eram invejavelmente péssimas. Mudei de máquina, e os problemas ocorriam de vez em quando. Agora que contratei um server de qualidade, os problemas ainda ocorriam. Deu para concluir que não tinha a ver com a máquina, e possivelmente era um problema que eu podia mudar. E eu estava certo.

Depois de muito pesquisar, descobri o seguinte: O erro maximum execution time ocorre porque o tempo máximo reservado para que um script php fosse executado no servidor excedeu. Isto significa que é algo que é previsto pelo servidor, e para mudar isso, basta mudarmos a configuração no servidor.

Problema aparentemente resolvido. No nosso servidor, procuramos o ficheiro php.ini, e aumentamos o valor do tempo previsto para a execução de um script. Mas o problema aqui é que eu uso um servidor remoto, e não tenho acesso ao php.ini. Está claro que os administradores do servidor não vão aumentar o tempo de execução de um scripr assim que você mandar um email a pedir, motivo: Eles é que colocaram o valor baixo!!

Felizmente, ainda temos uma saida: Alterar o tempo máximo de execução de scripts php dentro do próprio php, usando o próprio php! Para fazer isso, basta editar o script que pretende exectuar, e colocar a seguinte linha logo no início do script:n

@ini_set("memory_limit",'64M');

Assim, alteramos o tempo máximo de execução para 64MB. Se alguma vez já teve um erro destes, provavelmente notou que o tempo máximo padrão para a execução de um script php  é 8MB. Este tempo é insuficiente para algumas páginas do WordPress MU e do Pligg. Você deve testar valores cada vez mais altos, até que encontre o ideal para seus scripts.

Lembre-se que o código acima deve ser colocado em todas as páginas que pretende executar. Se se tratar de um CMS, aconselho a colocar este código na página de configurações do  mesmo, já que esta página será importada em todos os outros scripts. No WordPress coloque no wp-config.php, no pligg coloque no settings.php e no Xoops coloque no mainfile.php.

(Visited 21 times, 1 visits today)

Elisio Leonardo

Elisio Leonardo is an experienced Web Developer, Solutions Architect, Digital Marketing Expert, and content producer with a passion for technology, artificial intelligence, web development, and entertainment. With nearly 15 years of writing engaging content on technology and entertainment, particularly Comic Book Movies, Elisio has become a trusted source of information in the digital landscape.