Я попытался создать работу cron в моем приложении CakePHP 2.x. Но все ресурсы, которые я читал в Интернете, похоже, либо делают это совершенно по-другому друг с другом с небольшой согласованностью, либо объясняют это в очень сложной терминологии.
В основном я создал следующий файл 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, что я должен запустить некоторый код в терминале, чтобы заставить его делать это с определенным время и т. д. И я могу установить их с помощью хостинг-провайдера довольно легко.
Но я довольно запутался в каталоге консоли. Что должно быть в какой папке здесь: 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
благодаря