【发布时间】:2011-07-05 07:57:43
【问题描述】:
如何通过 PHP 脚本设置 cron 作业。
【问题讨论】:
-
我的 PHP 脚本可以在 Linux 上运行。
-
你问的是在 php 中以编程方式创建一个 cron 作业吗?或者关于创建一个运行你的 php 脚本的 cron 作业?
如何通过 PHP 脚本设置 cron 作业。
【问题讨论】:
你知道如何正常设置cron作业吗? (在 PHP 之外,即来自 bash 脚本或命令行)。
如果是这样,您只需要使用 php 函数 exec 来发出与在命令行中创建 cron 作业相同的命令。需要注意的是,可能存在权限问题,您必须非常小心在该 exec 函数中放入的内容(您不想将最终用户的输入传递给该函数)。
【讨论】:
这将添加一个每天上午 9:30 运行的脚本。
exec('echo -e "`crontab -l`\n30 9 * * * /path/to/script" | crontab -');
如果您从 Web 服务器运行此脚本,您可能会遇到权限问题。为了解决这个问题,我建议采用不同的方法。
这是一种可能的解决方案。创建需要运行的脚本列表。您可以将其保存在文本文件或数据库中。创建一个脚本来读取此列表并每分钟或每 5 分钟运行一次(使用 cronjob)。您的脚本需要足够聪明,才能决定何时运行脚本列表以及何时退出。
【讨论】:
您不能通过 PHP 脚本设置 CRON 作业,您必须在服务器端设置它。除非你想通过system 函数来实现,否则你不能通过 php 设置 CRON。
如果您不是在自己的服务器上运行并使用托管服务,请询问您的托管服务提供商如何设置 CRON 脚本(如果提供商允许的话)。
【讨论】: