我正在使用Symfony2 Process组件来启动生成较大报告的cli脚本。在这一点上,我正在使用ajax监视它的进度,并在前端显示进度条填充。在app_dev.php中执行以下代码时,它可以完美运行,并且没有问题。但是,当我在生产环境中运行它时,它无法启动Process()。
这是我的代码:
public function generateAction($reportSlug) { $this->wrangler->addMoodleGlobal('CFG'); $time = time(); $commandSlug = "report:{$reportSlug}"; $console = $this->container->get('kernel')->getRootDir() ."/console"; $process = new Process("exec php {$console} {$commandSlug} {$time} > /dev/null 2>/dev/null &"); $process->start(); return $this->renderJson(json_encode(array( 'success' => true, 'message' => "php {$console} {$commandSlug}", 'time' => $time ))); }
我跑了 php app/console cache:clear –env=“prod”
以及 php app/console cache:warmup –env=“prod”
机器人无济于事。
谢谢。