无法为 php 脚本运行 cron 作业

无法为 php 脚本运行 cron 作业

我想在本地主机上使用 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 脚本放在wwwpublic_html目录中,并在 cronjob 上正确调用路径。
*/2 * * * * wget -q http://localhost//myscript.php

更多关于: PHP Cron Job:如何在 Linux 中使用 Crontab 执行 PHP 脚本

相关内容