Não é possível executar o trabalho cron para um script php

-1

Eu quero executar um script php usando o cron job no host local. Meu script está localizado em:

/opt/lampp/htdocs/rrugd/myscript.php

Como o opt está na raiz, tentei adicionar o trabalho cron para o root, bem como o usuário normal, mas ele não está sendo executado. Este é o trabalho cron para executar o script php a cada 2 minutos:

*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php

Meu script basicamente serve para truncar uma tabela do banco de dados. Ele realmente estará acontecendo à meia-noite, então as variáveis reais do cron job serão alteradas para

00 00 * * * php /path/to/script.php

Mas para testes eu usei a cada dois minutos. Eu pesquisei na internet, e AU, mas não consigo executá-lo. Eu vi algo relacionado à configuração de um PATH, mas não entendi exatamente o que deve ser feito nesse método.

Além disso, gostaria de especificar que o script PHP myscript.php NÃO executou na CLI com o comando PHP, no entanto, ele é executado quando executado ou chamado pelo navegador no host local!

Informação do PHP:

some@somepc$: php -v
PHP 5.5.3-1ubuntu2.2 (cli) (built: Feb 28 2014 20:06:05) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
    
por Nirmik 06.03.2014 / 20:51

1 resposta

3

Assumindo o seu php5 ; Há uma instância de usar o php em um cronjob. Você pode tentar um desses seguindo:

  • Para usar o php5 no terminal, você precisará do php5 cli instalado. Primeiro, verifique se a funcionalidade php5 & cli está disponível. por isso;
johan@ubusrv:~$ php -v 
PHP 5.2.4-2ubuntu5.3 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 23 2008 06:44:49) 
Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, 
Copyright (c) 1998-2007 Zend Technologies

O comando exibe sua versão do php5 junto com o php5 (cli) instalado. Se não, instale-o usando o seguinte comando;

sudo apt-get install php5-cli
  • Uma vez instalado, você pode adicionar php ou seu caminho binário ao cronjob como abaixo;

usando php ou php5

*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php

usando o caminho binário php

*/2 * * * * /usr/local/bin/php /opt/lampp/htdocs/rrugd/myscript.php

Você também pode usar os comandos abaixo para descobrir onde seu caminho php / php5 está;

johan@ubusrv:~$ which php 
/usr/bin/php 

johan@ubusrv:~/cli$ whereis php 
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz 

johan@ubusrv:~/cli$ type -a php 
php is /usr/bin/php 
  • Em outro lugar, se você precisar chamar um script php usando URL; você pode simplesmente usar lynx , curl ou wget . Certifique-se de ter colocado seu script php no diretório www ou public_html e chamar o caminho corretamente no cronjob.
*/2 * * * * wget -q http://localhost//myscript.php

Mais sobre: Cron PHP Cron: Como executar scripts PHP usando Crontab no Linux

    
por AzkerM 07.03.2014 / 06:52