Kohana command line & cli mistery
Jul. 18th, 2011 12:31 amЗдравствуй, мой юный друг-быдлокодер. Сейчас я попробую спасти тебе несколько минут/часов драгоценного времени, чтобы ты его мог потратить, тупя по какому-либо другому вопросу.
Итак, если ты делаешь веб-приложение на фреймворке Kohana, и хочешь вызывать некоторые методы контроллеров из командной строки – от делать нечего или в кроне. И вот ты начитался мануалов и бодро пишешь в консоли что-то типа php5 index.php –uri=welcome/killemall. А оно, скотино, молча берет и перебрасывает тебя на умолчательный роут (welcome/index, если как по дефлоту оставить). Или материццо, что нет такого урла. При этом через веб-интерфейс все прекрасным образом исполняется. Дальше ты можешь снова курить мануалы и гугл, а можешь посмотреть список процессов на своем сервере (или сервере хостера), и убедиться, что никакого cli у тебя нет, а есть что-то fastcgi – и кохана тупо не понимает, что ее вызывают из консоли.
Что делать? Если не влом – можно похардкодить в ядре. А если влом – можно скопировать index.php (например, в index_cli.php), добавить туда где-нибудь в конец волшебную фразу Kohana::$is_cli = TRUE;, и наслаждаться жизнью, обращаясь в консоли к этому index_cli.php.
Ах да, еще можно крону скармливать что-то типа wget –timeout=99999 -O/dev/null -q http://localhost/kohana/url/and/some/segment/or/whatever, но это на любителя )
This entry was originally posted at TygerSpace. Please comment here or there.