Magento cron.php não faz nada depois que é executado

10

Meu cron Magento funciona normalmente há alguns meses atrás. Mas, recentemente, ele de repente parou de gerar cronograma. O próprio comando cron executando bem no meu servidor de hospedagem. É Magento ver 1.8.0.0.

Estes são o que eu tentei:

  1. Tento executar cron.php no navegador e ele não gera agendamento na tabela cron_schedule.

  2. Instale a extensão AOE Scheduler, esperando que possa resolver o problema. Posso gerar agendamento usando esta extensão, mas o Magento cron não pode executar o agendamento.

  3. Instale o Magento ver 1.8.0.0 novo no servidor de hospedagem e, em seguida, execute o cron.php no navegador, com a tabela cron_schedule ainda vazia.

  4. Instale o Magento novo 1.8.0.0 no meu host local e, em seguida, executando o cron.php no navegador, ele gera agendamento. Então, eu tento fazer o upload para o servidor de hospedagem. Eu limpo o cache do Magento, executando o cron.php no navegador, surpreendentemente nada acontece na tabela cron_schedule. Mas funciona bem no meu host local.

Eu tenho outro site Magento ver 1.7.0.2 no mesmo servidor de hospedagem, o cron está funcionando bem.

Ainda não sei qual é a causa desse problema, então eu o publico aqui. Esperando que alguém tenha o mesmo problema e compartilhe a solução.

Wakanina
fonte
2
Corri para um problema semelhante há vários meses. O interpretador php da linha de comando tinha uma configuração separada do php.ini e o memory_limit foi definido como muito baixo para que os trabalhos do cron falhassem. Não tenho certeza se esse é o seu problema.
Fiasco Labs
O memory_limit é 256M e este é o comando que eu uso /usr/bin/wget http://www.mysite.com/cron.php >/dev/null 2>&1.
Wakanina

Respostas:

24

Encontrei a solução nos fóruns ( link não está mais online )

Anteriormente, tentei instalar o Magento 1.7.0.2 no meu servidor de hospedagem e o cron está funcionando bem. Portanto, eu assumi que minha hospedagem não pode executar o Magento 1.8.0.0 cron, então planejei fazer o downgrade do meu site Magento para 1.7.0.2. Mas antes de fazer o downgrade do meu site, encontrei a solução no link acima.

  • Edite o arquivo cron.php
  • Depois da $isShellDisabled = (stripos(PHP_OS, ‘win’) === false) ? $isShellDisabled : true; 47, adicione esta linha de código

    $isShellDisabled = true;

E agora o My Magento 1.8.0.0 cron roda perfeitamente.

Wakanina
fonte
No meu caso, estou trabalhando em um servidor que me deu apenas dores de cabeça devido à configuração ambígua. Essa era a única maneira de conseguir que o cron fosse executado.
Pspahn 5/01
Seu trabalho para o wget, mas é melhor alterar o nome para eq cron89128923489.php;) #
95984 user956584 3/15
Isso funcionou para mim também. Provavelmente algo a ver com restrições de acesso ao shell.
Daniel Oeste
O link tem MageBayVaporated ...
Fiasco Labs
Expliquei por que esta solução alternativa funciona eo que a verdadeira solução está aqui: magento.stackexchange.com/questions/137130/...
Fabian Schmengler
11

A solução dada por Wakanina funcionou para mim. No entanto, alterar o arquivo cron.php foi meio inaceitável em nossa política. O estranho é que eu implantei meu site em dois servidores (com o mesmo sistema operacional, versão PHP) e em um servidor ele executa tarefas cron quando o cron.php é executado e em outro servidor nada acontece.

Então tive que tentar uma solução melhor que manterá meu site à prova de atualização.

Em vez de executar cron.php, agora estou executando cron.sh através crontab -epois o Linux é usado como sistema operacional de servidor.

Rakesh Shewale
fonte
2
É assim que deve ser feito.
Robbie Averill
2

O problema magento_root/cron.phpnão foi definido no servidor crontab. Precisamos adicionar esse arquivo no crontab, para que funcione para nós da seguinte maneira.

# crontab -l (this command will list all the Cron jobs in Crontab)

Deve haver uma entrada para o arquivo magento_root / cron.php. Caso contrário, precisamos adicionar este arquivo, pois esse arquivo é responsável por iniciar os trabalhos do Magento Cron. Então, precisamos editar o Crontab da seguinte forma.

# crontab -e

Adicione a seguinte declaração no arquivo e feche após salvá-lo.

* / 5 * * * * wget -O / dev / null -q path_to_magento_root / cron.php> / dev / null

Para mais informações, visite este link

saiid
fonte