Como diagnosticar timeout de script PHP Print

  • 0

Como Diagnosticar Timeout de Script PHP na GeHost

Olá, amigo(a) do GeHost! 👋 Se você está vendo uma mensagem como "Tempo de execução excedido" ou "504 Gateway Timeout" ao acessar seu site ou executar um script PHP, não se preocupe — isso é algo que muitos enfrentam, e temos um caminho claro para resolver. Vou te guiar com calma, como um bom Sensei que se importa com seu sucesso.

Timeouts de script PHP geralmente acontecem quando um script demora muito para executar — seja por um loop infinito, processamento pesado, conexão lenta com banco de dados ou configurações inadequadas. Vamos juntos identificar a causa!

Passo 1: Verifique os Logs de Erro do PHP

O primeiro lugar onde você deve olhar é o log de erros do PHP. Ele é como um diário do seu site: mostra exatamente o que deu errado e quando.

Para acessar os logs:

  1. Entre no cPanel da sua conta GeHost.
  2. Na seção “Logs”, clique em “Logs de Erro”.
Tela inicial (home) do cPanel com os grupos de ferramentas, incluindo 'Logs'

Na tela que aparecer, procure por arquivos como:

  • error_log
  • php_error.log

Abra o arquivo mais recente e procure por mensagens como:

  • Maximum execution time exceeded
  • Allowed memory size exhausted
  • Connection timed out
Dica do Sensei: Se vir “Maximum execution time exceeded”, o problema é que o script está demorando mais do que o permitido. Isso é comum em scripts de importação de dados, processamento de imagens ou relatórios grandes.

Passo 2: Verifique o Tempo de Execução do PHP

Por padrão, o PHP no GeHost tem um limite de execução de 30 segundos. Se seu script precisa de mais tempo, ele será interrompido.

Para verificar ou ajustar esse limite:

  1. No cPanel, vá até “PHP Settings” (ou “Configurações do PHP”).
  2. Procure por “max_execution_time”.
  3. Se estiver em 30, você pode aumentar para 60 ou 120 segundos.
Tela inicial do cPanel com a opção 'PHP Settings' destacada

⚠️ Atenção: Aumentar esse valor só ajuda se o script realmente precisa de mais tempo. Se o problema for um loop infinito, o script ainda vai travar — mas agora com mais tempo.

Passo 3: Verifique o Uso de Memória

Se o erro diz “Allowed memory size exhausted”, o script está usando mais memória do que o permitido.

Na mesma tela de configurações do PHP, procure por:

  • memory_limit — o valor padrão é geralmente 128M.

Se seu script processa muitos dados, aumente para 256M ou 512M. Mas lembre-se: mais memória não resolve um código mal escrito.

Dica do Sensei: Se o script ainda falha após aumentar o limite, ele provavelmente tem um erro de lógica. Vamos ao próximo passo!

Passo 4: Teste o Script em Modo de Debug

Adicione estas linhas no início do seu script PHP (antes de qualquer código):

```php <?php error_reporting(E_ALL); ini_set('display_errors', 1); ?> ```

Isso mostrará os erros diretamente no navegador — como se fosse um espelho do que o PHP está pensando.

Se o erro aparecer, você vai ver exatamente onde o script parou. Pode ser uma função mal escrita, uma conexão de banco de dados lenta ou um loop sem fim.

Passo 5: Verifique o Banco de Dados e Conexões

Muitos scripts PHP falham por causa de consultas lentas no banco de dados.

Para verificar:

  • Use o phpMyAdmin (acessível no cPanel) para ver se há consultas muito pesadas.
  • Verifique se há índices nos campos usados em WHERE ou JOIN.
  • Evite usar SELECT * em tabelas grandes.

Se o script faz muitas requisições ao banco, considere otimizar as consultas ou usar cache.

Passo 6: Use o Gerenciador de Arquivos para Verificar Arquivos

Se o script está em public_html ou em uma subpasta, use o Gerenciador de Arquivos para verificar:

  • Se o arquivo está corrompido.
  • Se há códigos maliciosos ou loops infinitos.
  • Se o script tem chamadas recursivas sem condição de parada.
Tela do Gerenciador de Arquivos do cPanel com a pasta public_html e arquivos listados

Conclusão: Quando Chamar o Suporte

Se, após todos esses passos, o problema persistir, é hora de pedir ajuda. Envie para nosso suporte:

  • O trecho do código que está causando o erro (sem dados sensíveis).
  • O conteúdo do error_log (ou trecho relevante).
  • As configurações atuais do PHP (max_execution_time, memory_limit).

Com essas informações, nosso time vai te ajudar com precisão — como um verdadeiro Time de Guerreiros do Suporte! 🛠️

Seja paciente, seja curioso, e lembre-se: cada erro é uma oportunidade de aprender. Você está no caminho certo. 💪


Was this answer helpful?

« Back