Tôi đã thử các phương pháp sau đây trong quá khứ:Làm thế nào để chạy tệp CodeIgniter thông qua CRON?
<?php
set_time_limit(0);
$_SERVER['PATH_INFO'] = 'cron/controller/index';
$_SERVER['REQUEST_URI'] = 'cron/controller/index';
require_once('index.php');
?>
và đưa điều này trong một tập tin trong thư mục cài đặt CodeIgniter, gọi đó là cron.php, và sau đó gọi nó thông qua:
php /home/[username]/public_html/my_project/cron.php
Nếu tôi nhập URL vào cron.php trong trình duyệt của tôi, nó hoạt động hoàn hảo, tuy nhiên bất cứ khi nào nó chạy qua CRON tôi nhận được lỗi 404. Đưa đoạn mã sau trong show_404()
chức năng của CodeIgniter
function show_404($page = '')
{
print_r($_SERVER);
echo "\n\n";
die ($page);
}
kết quả trong việc có được đầu ra sau đây gửi đến tôi:
Array
(
[SHELL] => /bin/sh
[MAILTO] => [email protected]
[USER] => [me]
[PATH] => /usr/bin:/bin
[PWD] => /home/[me]
[SHLVL] => 1
[HOME] => /home/[me]
[LOGNAME] => [me]
[_] => /usr/bin/php
[PHP_SELF] =>
[REQUEST_TIME] => 1266479641
[argv] => Array
(
[0] => /home/[me]/public_html/my_project/cron.php
)
[argc] => 1
[PATH_INFO] => cron/controller/index
[REQUEST_URI] => cron/controllers/index
)
home/[me]
Ở đây tôi đã [tôi] ở vị trí của tên người dùng thực tế của tôi.
Bất kỳ ý tưởng nào?
Với get w làm tôi cần phải sao chép các dấu chấm câu như tốt? Tôi có nên sao chép toàn bộ lệnh khi bạn đưa nó? –
Tuyệt vời, wget -O - -q -t 1 http://www.example.com/cron/run hoạt động! –
Dấu hoa thị liên quan đến khi cron được chạy. Tôi nghĩ * những người tôi trích dẫn là để chạy cron mỗi giờ. –