创建一个 cronjob 来运行 PHP 脚本

创建一个 cronjob 来运行 PHP 脚本

我在 Xubuntu 中创建了一个 cronjob,每 5 分钟运行一次 PHP 脚本。我是这样做的,如下所示。

我输入了以下命令:

$ crontab -e

然后输入以下内容:

*/5 * * * * /usr/bin/php /var/www/pgrouting/workshop/web/php/calculation.php

我不明白有什么用/usr/bin/php,目录中没有这样的文件bin,但PHP脚本无法运行?

答案1

“问题”通常是 PHP 旨在作为 Web 服务器中的模块运行。您可能需要先安装 php 的命令行版本,然后才能从命令行运行 php 脚本:

apt-get install php5-cli

/usr/bin/php是要放置 php 二进制文件的默认位置,但如果您从源代码编译 php,它可能位于其他位置。

通常,PHP 脚本不会被格式化为 shell 脚本,因此您需要告诉 cron 应该使用哪个解释器来执行 php 脚本;这就是使用命令行的原因/usr/bin/php /var/www/pgrouting/workshop/web/php/calculation.php

您可以使用 shebang 格式化脚本并使其可执行(chmod +x script.php),然后您可以直接从命令行调用它,而无需指定 php 作为解释器( ie ./script.php):

#!/usr/bin/php
<?php
  print "Hello world!\n" ;
?>

答案2

尝试使用 WGET 代替:

*/5 * * * * wget http://ip-address-or-domain-to-your-script/calculation.php

相关内容