Kohana — Командная строка

Я пробую к «поддельной вилке» процесс (электронное письмо, посылаемое через SMTP) в моем веб-приложении, и применение основано на Kohana.

    $command = 'test/email';
    exec('php index.php '.$command.' > /dev/null/ &', $errors, $response);

Я получаю ошибку-

Notice: Undefined index: SERVER_NAME

Когда я изучаю index.php файл Коханы, я вижу, что он ищет переменную под названием SERVER_NAME, но я предполагаю, что он подходит ПУСТОЙ УКАЗАТЕЛЬ, потому что Kohana не мог обнаружить эту стоимость и установить ее до пробега.

Какие-либо идеи, как заставить Kohana работать через командную строку?

11
задан swt83 25 January 2010 в 15:47
поделиться

5 ответов

Насколько я знаю, вы не можете запустить файлы Kohana непосредственно в командной строке из-за его методов Bootstrap.

Вы могли бы сделать 2 вещи: Экспортируйте все команды, такие как функции за пределами Коханы и бегите их независимо.

Что-то еще, что вы могли бы выполнить, запустите его через index.php, расположенный в главной папке Kohana, пройдя в прохождении контроллера $, $ метод переменных к нему, чтобы он заканчивается на правом объекте, где находится ваш код:

Для Коханы 2:

php index.php controller/method/var1/var2

Кохана 3

php index.php --uri=controller/method/var1/var2

Редактировать: Kohana имеет отличную CLI Task Runner от версии 3.3 в качестве официального модуля. Для версии 3.2 это все еще неофициальный модуль. Я предлагаю вам использовать их, потому что они дают много дополнительных вариантов для работы из CLI:

10
ответ дан 3 December 2019 в 01:20
поделиться

Если вы используете Kohana 3, вы можете запустить его из терминала.

Пример

php index.php --uri=controller/action

Опции

  • - URI
  • - метод
  • - Get
  • - Post
5
ответ дан 3 December 2019 в 01:20
поделиться

А Kohana2 - это просто php index.php controller/method/param1/param2/etc

Kohana была создана для работы как в CLI, так и в web.

7
ответ дан 3 December 2019 в 01:20
поделиться

Изучив исходный код Kohana3, я обнаружил, что он поддерживает cli ( system / classes / kohana / cli.php ) . Вы можете передать 3 варианта (uri, method, get, post). Итак: -

$ php index.php --uri = "items / list"

вызовет метод list в Controller_Items .

17
ответ дан 3 December 2019 в 01:20
поделиться

Для Kohana 3 ознакомьтесь с этими документами и исходниками.

2
ответ дан 3 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: