POP HOSTING

Cron do WHMCS: como configurar no cPanel e resolver os avisos imprimir

  • cron whmcs, cron.php, automation status, system health whmcs, cron job cpanel, whmcs automação
  • 0

Configure o cron do WHMCS no cPanel para rodar a cada 5 minutos com php -q crons/cron.php e resolva os avisos do Automation Status e do System Health.

  • Tempo: 10 min
  • Nível: Intermediário
  • Vale para: WHMCS 8.x e 9.0 instalado em hospedagem ou revenda cPanel
  • Atualizado: outubro de 2026

O cron é o que faz o WHMCS trabalhar sozinho: gerar faturas, mandar lembretes, aplicar multas, suspender e reativar serviços, fechar tickets inativos e checar atualizações. Sem ele, nada disso acontece, e o painel mostra um alerta vermelho de automação. A WHMCS recomenda rodar o cron a cada 5 minutos, e no mínimo uma vez por hora.

Antes de começar

  • Acesso de administrador ao WHMCS e ao cPanel da conta onde ele está instalado.
  • A mesma versão de PHP no site e no cron. O WHMCS 9.0 exige PHP 8.2 ou mais novo e ionCube Loader compatível.

Pegue o comando certo no WHMCS

  1. Abra Configuration » System Settings » Automation Settings (Configuration é o ícone de chave inglesa no topo do painel).
  2. Clique no primeiro selo do topo da página. Aparece o campo Cron Command com o comando completo da sua instalação.
  3. Copie pelo ícone de copiar. O comando tem este formato:
    php -q /home/usuario/crons/cron.php

Nas versões antigas o arquivo ficava em admin/cron.php. Hoje o certo é crons/cron.php; o caminho antigo é só um apelido mantido por compatibilidade.

Como criar o cron no cPanel

  1. No cPanel, abra Avançado » Cron Jobs (Trabalhos Cron).
  2. Em Configurações comuns, escolha a opção de uma vez a cada cinco minutos (Once Per Five Minutes). Os campos ficam */5 * * * *.
  3. Cole o comando no campo Comando.
  4. Clique em Adicionar novo trabalho cron (Add New Cron Job).
Dica: deixe um e-mail em E-mail do cron no topo da página. O cron do WHMCS não imprime nada quando tudo dá certo, então você só recebe e-mail quando houver erro. Para o passo a passo geral de agendamento, veja como agendar uma tarefa no cPanel.

Tire a pasta crons de dentro do public_html

A WHMCS recomenda mover a pasta crons para fora da pasta pública do site, onde ninguém consegue acessá-la pelo navegador.

  1. Mova a pasta inteira pelo Gerenciador de Arquivos, por exemplo de /home/usuario/public_html/whmcs/crons para /home/usuario/whmcs_crons.
  2. Na pasta nova, renomeie config.php.new para config.php, abra e ajuste a linha do caminho do WHMCS, tirando as duas barras do começo:
    $whmcspath = '/home/usuario/public_html/whmcs/';
  3. No configuration.php do WHMCS, acrescente no fim:
    $crons_dir = '/home/usuario/whmcs_crons/';
  4. Atualize o comando do cron para o caminho novo:
    php -q /home/usuario/whmcs_crons/cron.php
Atenção: com a pasta movida, cada atualização do WHMCS exige copiar os arquivos novos da pasta crons padrão para a pasta personalizada. Se esquecer, a automação para de funcionar depois do update.

Confira se o cron está rodando

  • Utilities » Automation Status: selo verde Ok significa que o cron rodou nas últimas 2 horas e as tarefas diárias rodaram nas últimas 24 horas. Amarelo (Warning) indica que o cron já funcionou, mas não roda há mais de 2 horas. Vermelho (Error) indica que ele nunca rodou ou que as tarefas diárias falharam.
  • Configuration » System Health: mostra os alertas Cron PHP Version Mismatch e Cron PHP Timezone quando o PHP do cron é diferente do PHP do site.
  • Time of Day, em Automation Settings, é a hora em que as tarefas diárias rodam. O cron precisa estar ativo nessa hora.

Como rodar o cron na mão para testar

Pelo Terminal do cPanel (ou SSH), rode o mesmo comando do cron com mais detalhes na saída:

php -q /home/usuario/crons/cron.php all -vv

Para só conferir a versão do WHMCS que o PHP de linha de comando enxerga:

php -q /home/usuario/crons/cron.php -V

Não use a opção --force para "destravar" o cron: ela executa as tarefas mesmo fora da hora ou com outra execução em andamento.

E pelo navegador?

O teste antigo de abrir seuwhmcs/admin/cron.php no navegador não serve mais. Desde as versões 8.13.6 e 9.0.7 (agosto de 2026), o WHMCS bloqueia chamadas HTTP ao cron com 403 Access Denied. Só funciona se o IP do agendador externo for liberado em Configuration » System Settings » General Settings, aba Security, campo Cron HTTP Access Restriction. Prefira sempre o cron do cPanel.

Problemas comuns

The system cron has not run within the past two hours

O cron não está rodando: caminho errado, linha apagada ou frequência menor que uma vez por hora. Confira a linha em Cron Jobs e rode o comando à mão para ver o erro.

Could not open input file

O caminho do cron.php está errado, geralmente depois de mover a pasta crons ou de reinstalar. Confirme o caminho no Gerenciador de Arquivos e copie de novo o comando em Automation Settings.

Cron PHP Version Mismatch ou erro do ionCube só no cron

O site usa uma versão de PHP e o cron outra. Em contas com Select PHP Version (CloudLinux), o PHP do cron segue a versão escolhida ali. Se o site usa uma versão definida no MultiPHP Manager, chame o PHP dessa versão pelo caminho completo:

/opt/cpanel/ea-php83/root/usr/bin/php -q /home/usuario/crons/cron.php

Cron PHP Timezone

O fuso do PHP do cron é diferente do fuso do site, e as tarefas rodam fora de hora. Veja como alterar o timezone do WHMCS.

Preciso do cron do pop.php?

Só se você importa e-mails para o suporte pelo protocolo POP3, com php -q /home/usuario/crons/pop.php a cada 5 minutos. A WHMCS recomenda usar o encaminhamento de e-mail (piping) no lugar.

Vai automatizar a sua empresa de hospedagem? Conheça a revenda de hospedagem cPanel da POP Hosting, com WHM liberado na hora e marca branca.

Esta resposta lhe foi útil?
« Retornar