我有这个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。