我正在寻找一本好的cronjob教程或书籍来学习如何使用PHP创建一个。
答案 0 :(得分:12)
Cronjob不是要创建Php进程或脚本的东西。 Cron是一个linux程序,允许您定期调用脚本。
您可以通过以管理员用户身份输入Linux计算机并输入:
来查看crontab是什么root@valugi:~# crontab -e
您会看到类似
的内容*/1 * * * * /usr/bin/php /var/www/somesite/public/cron.php
这意味着我每分钟都在执行cron.php。
现在,您可能希望在不同时间执行不同的脚本,并希望将此逻辑传递到php级别而不是Linux级别。如果是这种情况,您可能希望以最低时间分母(例如分钟)调用您的cron脚本,并在cron.php中构建一些将在不同时间调用其他脚本的逻辑。
我使用例如Cronable接口:
interface Cronable {
public function cron();
}
每个想要被cron.php调用的类都必须实现这个接口和cron()函数,它将指定调用的具体频率。 cron.php将获得所有这些类,并将当前时间与当时时间进行比较,并决定是否执行调用。
答案 1 :(得分:2)
我认为你不需要整本书来学习这一点。
基本上你只是像往常一样编写脚本(避免使用$_SERVER
)并像这样输入你的crontab:
* * * * * [/path/to/php/]php /path/to/your/script/script.php
答案 2 :(得分:2)
答案 3 :(得分:1)
您不使用PHP创建一个。您可以使用crontab(1)
创建一个。
答案 4 :(得分:1)
或者你可以打开CPANEL并寻找CRONJOBS。在那里你可以选择你需要运行的php文件或脚本以及何时运行,每小时,每天,每个星期天等等。
答案 5 :(得分:1)
正如其他人所说,cron
不是你在PHP中调用的东西,这解释了为什么你没有找到任何教程来做这件事。
问题是:你究竟想做什么?您想定期运行PHP程序吗?如果这就是你想要做的,那么是的,你需要cron,但没有任何关于它的特定于PHP,所以只需查看有关如何格式化crontab文件的cron教程。
如果您想在PHP中配置您的cron设置(这是从您的问题中读取的方式),那么您需要修改crontab
文件。这是一个简单的文本文件,因此加载和保存它就像任何其他文本文件一样简单。 (你可能会遇到文件权限问题,但这可能是你应该单独获得帮助的。)
要修改crontab设置,你需要知道如何格式化crontab文件中的条目,所以我上面提到的相同的cron特定教程将是有用的(即不需要包含'PHP '在你的搜索中)。然后编写一个可以以该格式保存数据的php程序。它实际上并不是一个非常复杂的格式,所以如果你对PHP有了相当的了解,你应该能够找出如何解析数据的方法。 (但如果您需要进一步的帮助,请告诉我们)
希望能帮助您入门。