у меня есть эта консольная команда:
php app/console jms-job-queue:run
Я хочу выполнить эту команду, когда я нажимаю кнопку на моем веб-сайте.
Так что я не niet командной строки, чтобы сделать это.
Возможно ли это в Symfony 2?
Хорошей идеей было бы создать вспомогательный класс, чтобы сделать это для вас, потому что команды будут выглядеть по-разному в среде foreach и prod. Вы также можете добавить методы, чтобы проверить, запущены ли какие-либо процессы, или убить один.
Не уверен, но я думаю, вам нужен полный путь к вашей команде:
[%kernel.root_dir%] / console jms-job-queue:run
Вы могли бы попробовать создание сервиса это определяет желаемое поведение, а затем вызовите эту службу как консольной командой, так и действием контроллера. Это способствует повторному использованию кода и позволяет вызывать эту функцию где угодно.
Вы также можете посмотреть на этот вопрос, на который уже был дан ответ:
Как я могу запустить команду запуска Symfony 2 с контроллера
Может быть, этого будет достаточно, чтобы использовать простой PHP exec
функция.
Вы можете определить команду как сервис как этот и использовать его в вашем контроллере.