Webi Fácil Desenvolvimento de sites wordpress e lojas virtuais e-commerce campanhas marketing digital desenvolvimento de identidade visual em Belo Horizonte MG para todo o Brasil.

Como resolver erro no cron job do whmcs

Publicado em 13 de Janeiro de 2018 na categoria Blog Desenvolvimento web

Hoje vou dar uma dica de como resolver problemas de erro no cron job do whmcs.

Para quem ainda sabe o que é whmcs, trata-se de um software pago amplamente utilizado em todo o mundo (inclusive por nós da Webi Fácil), por empresas relacionadas a hospedagem de sites e domínios.

whmcs

Porem muita gente vem enfrentando problemas com o cron jobs depois das últimas atualizações do whmcs.

Cron Jobs é é um sistema presente nos servidores de hospedagem que permite agendar tarefas, esse recurso é responsável pelo funcionamento de diversas tarefas no whmcs, inclusive envio de cobranças, suspensão de contas, etc…

Considero o cron jobs o coração do whmcs. Sem ele, na nossa avaliação o whmcs perde o sentido.

O erro no cron jobs do whmcs

Recentemente um cliente nos acionou pois o cron jobs simplesmente parou de funcionar após atualização do whmcs, ele passou a receber um erro por e-mail com o seguinte conteúdo:

<br />

<b>Fatal error</b>:  <br>The file <b>/home/XXX/public_html/XXXX/crons/cron.php was encoded with the PHP 5.6 ionCube Encoder and requires PHP 5.6 to be installed. in Unknown on line 0

Além disso nenhum cliente recebia suas faturas, nenhuma conta era suspensa, nenhuma ordem era gerada, etc… Ou seja, o sistema dormiu e não queria acordar.

Após investigar o fato descobrimos o motivo do erro. Ele ocorre porque a versão do PHP padrão do servidor onde o software do cliente se encontra hospedado era a 5.2.

Por si só já seria motivo de alterações, visto que atualmente a versão mínima é a 5.6. Porem apenas alterar a versão do php não foi capaz de sanar o erro.

É interessante dizer, que em nossas pesquisas observamos que existem diversos outros erros, principalmente na instalação do whmcs que também podem ser resolvidos com essas alterações. Então veja a solução para o erro.

Como corrigir o erro no cron job do whmcs

O primeiro passo é atualizar a versão do php, no caso desse cliente o mesmo se hospeda na hostgator, empresa que insiste em manter diversos recursos desatualizados.

A versão do php padrão do servidor deles é a 5.2 porem eles disponibilizam outras versões instaladas, podendo ser alteradas diretamente no cpanel.

Se você mantém seu site em um vps ou dedicado, será necessário colocar a mão na massa e instalar uma nova versão do php. Se sua hospedagem é compartilhada, poderá tentar os passos abaixo.

Acesse o Cpanel ou seu painel de controle da sua hospedagem, e procure pelo ícone “PHP Selector” ou algo semelhante.

Agora altere a versão do PHP, como dito anteriormente o Whmcs requer no mínimo a versão 5.6, porem recomendo a 7.0 caso esteja disponível. Selecione a pasta onde o seu whmcs está instalado.

Após selecionar a versão 7.0 click em “Update”, pronto agora a versão a rodar em sua hospedagem será a 7.0.

Caso seu painel de controle de hospedagem não tenha essa função, você poderá tentar alterar a versão do PHP alterando diretamente seu arquivo .htaccess.

Alterando a versão do PHP pelo .htaccess

Acesse via FTP ou pelo gerenciador de arquivos da sua hospedagem e baixe o arquivo .htaccess que se encontra no diretório principal do seu whmcs.

Trata-se de um arquivo de configurações especiais do Apache. Adicione o seguinte código no seu arquivo:

# Use PHP70 as default
AddHandler application/x-httpd-php70 .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/php70/lib
</IfModule>

Se o seu provedor de hospedagem disponibilizar outras versões do PHP ativas no servidor isso deverá funcionar.

Porem esse passo que demos não é suficiente para sanar o erro do cron jobs, isso porque apesar de ter setado uma nova versão do PHP o servidor continua a interpretar o comando do cron jobs na versão padrão do PHP do servidor.

Para resolver esse problema, temos que alterar o código do cron jobs original.

Dentro do Cpanel da sua hospedagem procure pelo ícone “Cron Jobs” ou similar.

cron jobs

Observe que o código do cron jobs original fornecido pelo whmcs é algo semelhante a esse:

php -q /home/webifa5/public_html/Pasta-Do-WHMCS/crons/cron.php

Tudo que temos a fazer é adicionar o seguinte código antes do código original: /opt/php70/bin/ ficará da seguinte forma:

erro no cron jobs whmcs

Ficará assim:

/opt/php70/bin/php -q /home/SEU-DIRETÓRIO/public_html/Pasta-Do-Whmcs/crons/cron.php

Esse código fará com que o comando do Cron Job seja executado na mesma versão do PHP que o servidor fora configurado.

Uma dica, onde está SEU-DIRETÓRIO, deverá ser alterado com os dados da sua hospedagem, se o seu painel é o Cpanel, muito provavelmente esse diretório terá o mesmo nome do seu login.

Tudo pronto, erro resolvido!

Gustavo Castro
Por:
Apaixonado por tecnologia, gostrônomia, mineiro, atleticano, blogueiro, professor de forró universitário, 27 anos de idade, trabalha a 12 anos como desenvolvedor wordpress, apoiador dos software opensouse e apaixonado por tudo que faz.

Deixe sua opinião:

Siga a Webi Fácil no Facebook Siga o perfil da Webi Fácil no twitter Siga a Webi Fácil no Google + Siga a Webi Fácil no Linkedin