我有这个 Symfony 控制台类。
<?php
namespace System\Core\Console;
use \Symfony\Component\Console\Input\InputInterface;
use \Symfony\Component\Console\Output\OutputInterface;
class Test extends \Symfony\Component\Console\Command\Command
{
protected function configure()
{
$this->setName('test')
->setDescription('Just for test execute external command such as "composer update".');
}// configure
protected function execute(InputInterface $input, OutputInterface $output)
{
exec('composer update 2>&1');
$output->writeln('Success!');
}// execute
}
运行命令php myapp.php test后,我得到了这个结果。
me@Mycom C:\wwwroot\myapp
> php myapp.php test
Success!
| <<--hang on blinking here!
它在最后一行闪烁而被冻结,直到Ctrl+C.
如何在 Symfony 控制台中执行“外部”程序?
我的 Symfony 控制台版本是 v.3.latest。