Estou apenas tentando executar um script PHP usando um cron job no CPanel - esta é a sintaxe correta:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
Não estou recebendo nenhuma notificação por e-mail informando que um cron foi concluído. Preciso fazer algo específico com o arquivo PHP?
Respostas:
No sistema crontab:
/usr/bin/php
é caminho php binário (diferente em alguns sistemas ex: FreeBSD/usr/local/bin/php
, Linux:/usr/bin/php
)/home/username/public_html/cron/cron.php
deve ser o caminho do seu script php/dev/null
deve ser a saída do cron, por exemplo:/home/username/stdoutx.txt
Então você pode monitorar seu cron visualizando a saída do cron
/home/username/stdoutx.txt
fonte
Usei este comando para ativar o cron job para isso.
no servidor godaddy, e está funcionando bem.
fonte
-q
significa?-q
é para o modo Silencioso, suprime a saída do cabeçalho HTTP>/dev/null
impede que o cron envie emails.na verdade, na minha opinião, é melhor fazer o
php
próprio script para se preocupar com o registro do que apenas enviar algo para o cronfonte
>/dev/null 2>&1
no final também .../path/to/file.php > /dev/null
ela ficará em silêncio.Esta é a maneira mais fácil:
php -f /home/your_username/public_html/script.php
E se você quiser registrar a saída do script em um arquivo, adicione isto ao final do comando:
>> /home/your_username/logs/someFile.txt 2>&1
fonte
Este é o caminho:
fonte
Esta linha cron funcionou para mim no hostgator VPS usando cpanel.
fonte
Tive problemas ao usar / usr / bin / php no CPanel, pois ele é compilado como um binário "cgi-fcgi" e não como "cli". Tente usar / usr / local / bin / php ou, como é o primeiro no caminho, use apenas 'php':
Se você deseja executar o script como um executável, dê a ele + x perms e use o seguinte como a primeira linha do script:
fonte
Espero que seu problema seja com o binário path e php também. Se você corrigiu o caminho de acordo com as respostas mais antigas, use php-cli em vez do comando php enquanto executa o cron job.
Pode ser possível
php_sapi_name()
não estar voltandocli
. Está retornando algo comocgi-fcgi
etc./usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
Eu espero que isso ajude.
fonte
Isso funciona bem e também envia e-mail:
/ usr / bin / php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
Os dois comandos a seguir também funcionam bem, mas não enviam e-mail:
/ usr / bin / php -f / home / mesmo que acima
php -f / home / mesmo que acima
fonte
Sugerido por especialistas.
fonte
Na verdade, é muito simples,
fonte
Para o Multi PHP Cron Job específico do domínio , faça assim,
No exemplo acima, substitua “ea-php56” pela versão do PHP atribuída ao domínio que deseja usar.
Espero que isso ajude alguém.
fonte