我想在本地主机上使用 cron 作业运行 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
没有使用 PHP 命令在 CLI 上执行,但是它在通过本地主机上的浏览器执行或调用时确实执行!
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
答案1
假设其php5; 有使用 php 到 cronjob 的例子。您可以按照以下步骤尝试其中之一;
- 为了
php5
在终端中使用,您需要php5 cli
安装。首先,检查php5 & cli
功能是否可用。为此;
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 集团 Zend Engine v2.2.0, 版权所有 (c) 1998-2007 Zend Technologies
该命令显示您的 php5 版本以及已安装的 php5(cli)。如果没有,请使用以下命令安装;
sudo apt-get 安装 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$ php 路径在哪里 php:/usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz johan@ubusrv:~/cli$ 类型 -a php php 是 /usr/bin/php
- 在其他地方,如果你需要使用 URL 调用 php 脚本,你可以简单地使用山猫,卷曲或者获得. 确保您已将 php 脚本放在
www
或public_html
目录中,并在 cronjob 上正确调用路径。
*/2 * * * * wget -q http://localhost//myscript.php