我试图在我的 CakePHP 2.x 应用程序中创建一个 cron 作业。但是我在网上阅读的所有资源似乎要么完全不同,几乎没有一致性,要么用非常复杂的术语解释它。
MyShell.php
基本上我已经创建了以下文件/app/Console/Command
<?php
class MyShell extends Shell {
public function sendEmail() {
App::uses('CakeEmail', 'Network/Email');
$email = new CakeEmail();
$email->from('cameron@driz.co.uk');
$email->to('cameron@driz.co.uk');
$email->subject('Test Email from Cron');
$result = $email->send('Hello from Cron');
}
}
?>
我想说的是每晚午夜运行这段代码。
接下来我该怎么做?因为下一部分真的让我很困惑!我在这本书上读过:http ://book.cakephp.org/2.0/en/console-and-shells/cron-jobs.html我应该在终端中运行一些代码以使其在某个特定时间完成时间等。而且我可以很容易地使用我的托管服务提供商设置这些。
但是我对 Console 目录感到很困惑。什么应该放在这里的哪个文件夹中:https ://github.com/cakephp/cakephp/tree/master/app/Console
/Console/Command
/Console/Command/Tasks
/Console/Templates
还注意到许多文件是 .php(例如,我的 Shell 文件也是 .php),但根据我为 Cron 作业阅读的文档,执行的文件应该是 .sh?
任何人都可以对此有所了解吗?
调用该命令的代码是什么?
例如会假定这是不正确的:0 0 * * * cd /domains/driz.co.uk/html/App && cake/Console MyShell sendEmail
谢谢