我有这个控制台命令:
php app/console jms-job-queue:run
我想在我点击网站上的按钮时运行此命令。 所以我不会在命令提示符下执行此操作。
这在symfony 2中是否可行?
答案 0 :(得分:2)
一个好主意是创建一个帮助程序类来为您执行此操作,因为命令将看起来与foreach dev和prod环境不同。您还可以添加方法来检查是否有任何进程在运行,或者是否要终止进程。
不确定,但我想你需要完整的命令路径:
[%kernel.root_dir%] / console jms-job-queue:run
答案 1 :(得分:1)
您可以尝试creating a service来定义您想要的行为,然后让您的控制台命令和控制器操作都调用该服务。这促进了代码重用,并允许您在任何地方调用该函数。
您还可以查看之前已回答过的问题: How can I run symfony 2 run command from controller
答案 2 :(得分:0)
使用普通的php exec
函数也许就足够了。
答案 3 :(得分:0)
您可以将命令定义为this之类的服务,并在控制器中使用它。