O motivo pelo qual ele é executado em seu navegador é porque seu servidor está configurado para compilar automaticamente e servir arquivos PHP.
O Cron, por outro lado, não tem esse luxo; por padrão, ele executará qualquer coisa que você colocar como um script bash
.
Da aparência do seu Cronjob, você está executando o arquivo PHP sem usar o php
parser e, como tal, o Cron tenta executar o script como um script bash
.
Se você colocar php -f
na frente do local do script PHP, você está dizendo ao Cron para executar o comando usando php
parts, você deve descobrir que ele será executado agora.
Como alternativa, você pode editar seu código e preceder #!/usr/bin/php
ao início do script. Quando o Cron executar esse arquivo, ele usará php
para executar o comando, em vez de bash
.