Запустите консольную команду в PHP-скрипте Symfony 2

у меня есть эта консольная команда:

php app/console jms-job-queue:run

Я хочу выполнить эту команду, когда я нажимаю кнопку на моем веб-сайте.
Так что я не niet командной строки, чтобы сделать это.

Возможно ли это в Symfony 2?

1

Решение

Хорошей идеей было бы создать вспомогательный класс, чтобы сделать это для вас, потому что команды будут выглядеть по-разному в среде foreach и prod. Вы также можете добавить методы, чтобы проверить, запущены ли какие-либо процессы, или убить один.

Не уверен, но я думаю, вам нужен полный путь к вашей команде:

[%kernel.root_dir%] / console jms-job-queue:run
2

Другие решения

Вы могли бы попробовать создание сервиса это определяет желаемое поведение, а затем вызовите эту службу как консольной командой, так и действием контроллера. Это способствует повторному использованию кода и позволяет вызывать эту функцию где угодно.

Вы также можете посмотреть на этот вопрос, на который уже был дан ответ:
Как я могу запустить команду запуска Symfony 2 с контроллера

1

Может быть, этого будет достаточно, чтобы использовать простой PHP exec функция.

0

Вы можете определить команду как сервис как этот и использовать его в вашем контроллере.

0
По вопросам рекламы [email protected]