Для CodeIgniter 1.7 (если кому-то не повезло с поддержкой устаревшего проекта), здесь есть упомянутое решение :
Запуск CodeIgniter из командной строки
Цель
Как и говорится в заголовке, наша цель - запускать приложения CodeIgniter из командной строки. Это необходимо для создания заданий cron или выполнения более интенсивных операций, чтобы у вас не было ограничений по ресурсам веб-скрипта, таких как максимальное время выполнения.
Вот как это выглядит на моей локальной машине с Windows:
Приведенный выше код будет похож на вызов этого URL:
http://www.example.com/hello/world/foo
Взломать
Создайте файл «cli.php» в корне вашей папки CodeIgniter:
if (isset($_SERVER['REMOTE_ADDR'])) {
die('Command Line Only!');
}
set_time_limit(0);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'] = $argv[1];
require dirname(__FILE__) . '/index.php';
Если вы работаете в среде Linux и хотите, чтобы этот скрипт выполнялся самостоятельно, вы можете добавить его в качестве первой строки в cli.php:
#!/usr/bin/php
Если вы хотите, чтобы конкретный контроллер был только командной строкой, вы можете заблокировать веб-вызовы в конструкторе контроллера:
class Hello extends Controller {
function __construct() {
if (isset($_SERVER['REMOTE_ADDR'])) {
die('Command Line Only!');
}
parent::Controller();
}
// ...
}