Yii2. Как выполнить консольную команду с браузера?

Главная  >>  Backend  >>  Yii2. Как выполнить консольную команду с браузера?

Я широко использую консольные скрипты при разработке и Вам желаю того же. Работа в фоне и экономия ресурсов очень важны и ценны. Но при разработке, например, скрипта для cron возникает проблема с тестированием.

Это связано с невозможностью вызова консольных команд с браузера. Но, для нас нет невозможных задач! 🙂 И сейчас я покажу, как можно тестировать консольные команды Yii2 с браузера.

Итак, суть решения заключается в создании новой точки входа, которая будет работать только с консольными командами.

Например, если раньше URL имел такой вид:

, то для консольных команд меняется точка входа и он будет выглядеть так:

При вызове, например по cron, указывается вот такая команда:

Глядя на строку вызова и документацию (надеюсь Вы читали ее 🙂 ) у многих постает вопрос, откуда консольные скрипты берут параметры, т.к. ни $_GET, ни $_POST не используется.

Ответ достаточно прост — все данные находятся здесь:

Таким образом решить проблему и получить возможность вызывать команды с браузера можно создав аналогичную предустановленной точку входа для консольных команд и в ней написав следующий код:

Немного детальнее:

Создаем файл console.php в папке web или в другом месте, где лежит входной index.php.
У меня этот файл имеет такой вид:

Теперь можно обращаться к консольной команде с браузера так, как было указано в начале статьи:


  • Nikita

    Редко пишу коменты, но тут такое
    Спасибо друг!