无法为php脚本运行cron作业
我想在localhost上使用cron job运行php脚本。 我的脚本位于:
/opt/lampp/htdocs/rrugd/myscript.php
由于opt是root用户,我尝试为root用户和普通用户添加cron作业,但它没有执行。 这是每2分钟执行php脚本的cron作业:
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
我的脚本基本上是从数据库中截断表。 它实际上将在午夜发生,因此cron作业的实际变量将变为
00 00 * * * php /path/to/script.php
但是为了测试我每两分钟就用一次。 我在互联网和AU上搜索过,但我无法让它运行。 我看到了与设置PATH相关的内容,但我不明白在该方法中应该做些什么。
另外,我想指定PHP脚本myscript.php
DID NOT myscript.php
CLI上使用PHP命令执行,但是它在执行时执行或通过localhost上的浏览器调用!
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
假设它的php5 ; 有一个使用PHP进入cronjob的例子。 您可以通过以下方式尝试其中之一;
- 为了在终端中使用
php5
,你需要安装php5 cli
。 首先,检查php5 & cli
function是否可用。 为了那个原因;
johan @ ubusrv:〜$ php -v PHP 5.2.4-2ubuntu5.3与Suhosin-Patch 0.9.6.2(cli)(内置:2008年7月23日06:44:49) 版权所有(c)1997-2007 PHP Group Zend Engine v2.2.0, 版权所有(c)1998-2007 Zend Technologies
该命令显示您的php5版本以及php5(cli)已安装。 如果没有,请使用以下命令安装它;
sudo apt-get install php5-cli
- 安装完成后,您可以将
php
或其二进制路径添加到cronjob中,如下所示;
使用php或php5
* / 2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
使用php二进制路径
* / 2 * * * * / usr / local / bin / php /opt/lampp/htdocs/rrugd/myscript.php
您也可以使用以下命令来查找php / php5路径的位置;
johan @ ubusrv:〜$ 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是/ usr / bin / php
- 在其他地方,如果你需要使用URL调用php脚本; 你可以简单地使用lynx , curl或wget 。 确保已将php脚本放在
www
或public_html
目录中,并在cronjob上正确调用路径。
* / 2 * * * * wget -q http://localhost//myscript.php
更多信息: PHP Cron作业:如何在Linux中使用Crontab执行PHP脚本