我有这个控制台命令:
php app/console jms-job-queue:run
我想在单击网站上的按钮时运行此命令。所以我不需要命令提示符来执行此操作。
这在symfony 2中可能吗?
一个好主意是创建一个帮助程序类来为你执行此操作,因为每个开发和生产环境的命令看起来都不同。您还可以添加方法来检查是否有任何进程正在运行,或终止一个进程。
不确定,但我想您需要命令的完整路径:
[%kernel.root_dir%] / console jms-job-queue:run
您可以尝试创建一个定义所需行为的服务,然后让控制台命令和控制器操作调用该服务。 这促进了代码重用,并允许您在所需的任何位置调用该函数。
你也可以看看之前已经回答过的这个问题:如何从控制器运行 symfony 2 运行命令
也许使用普通的php exec
函数就足够了。
您可以将命令定义为这样的服务,并在控制器中使用它。