如何使用 cron 执行 php 脚本?

如何使用 cron 执行 php 脚本?

我尝试php每 2 分钟通过 cron 执行一次文件,但不起作用。我的 crontab 是:

 */2 * * * * usr/bin/php /var/www/test/cron.php

我究竟做错了什么?

答案1

检查输出which php并使用 php 的绝对路径(在我的情况下/usr/bin/php5)。

*/2 * * * * /usr/bin/php /var/www/test/cron.php

要不就

*/2 * * * * php /var/www/test/cron.php

为了澄清,默认$PATH值为cron

PATH=/usr/bin:/bin

您可以$PATH使用测试条目来源):

* * * * * env > /tmp/env.output

因此,文件

/tmp/env.output

被建造。

* * * * * env > /tmp/env.output之后您必须删除该条目。

答案2

我的建议是使用标准 Web 路径调用脚本,这样就不会混淆用户和权限,例如:

/usr/bin/php <script>

而是这样做:

/usr/bin/wget -q http://localhost/test/cron.php

然后您需要确保该脚本只能从本地主机调用(例如使用 Apache2 访问策略)。

这样,cron 脚本将始终在与网站相同的用户下运行,这是一个很好的策略。

相关内容