Tôi biết tôi là hơi muộn nhưng tôi muốn để lại một giải pháp khác, có thể nó giúp đỡ người khác, bạn có thể chạy các tập tin trong cron nếu bạn có quy tắc kinh doanh của bạn bên trong mô hình
Bằng cách tạo ra một tập tin trong thư mục công khai với nội dung bên dưới. Ex .: cron.php
<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
$model = new Application_Model_Name();
$model->runTask();
Sau đó thêm một mục tab cron
0 0,12 * * * php /path/to/your/project/cron.php
Nó sẽ làm việc tốt hơn so với câu trả lời đầu tiên kể từ khi bạn sẽ chạy sử dụng PHP CLI thì bạn sẽ không có thời hạn thực hiện Tập lệnh php, trong trường hợp tập lệnh của bạn mất hơn một phút và bạn không cần kết nối mạng để chạy công việc cron đó