从symfony函数作为命令行运行命令
如何从symfony函数作为命令行运行命令?从symfony函数作为命令行运行命令
E.g.
C:\SymfonyProject> php app/console my-command --option=my-option
我想从一个函数运行此命令。该命令从数据库中导出文件,并将这些文件放在Symfony Project的app/Resource/translations文件夹中。
I.e.
public function exportFiles(){ // I want to run command here. }
谢谢! :)
您可以使用Symfony Process component。该守则将是这个样子:
private function process(OutputInterface $output)
{
$cmd = 'php app/console my-command --option=my-option';
$process = new Process($cmd);
$process->setTimeout(60);
$process->run(
function ($type, $buffer) use ($output) {
$output->write((Process::ERR === $type) ? 'ERR:' . $buffer : $buffer);
}
);
$ output在哪里定义?它可以是一个简单的文件? –
啊,错过了,而复制粘贴。在这种情况下$ output是一个OutputInterface(在另一个Symfony命令中运行此代码)。但显然你可以登录到一个文件或任何你想要做的事情。 – muffe
不要工作...... :( 谢谢!:) –
的[我怎么可以运行控制器的symfony 2运行命令(可能的复制http://stackoverflow.com/questions/10497567/how-can-i-run- symfony-2-run-command-from-controller) – exxecc