我有一个使用symfony3的应用程序,有些客户使用它。我计划通过在线下载补丁代码来修复该错误。
但是您知道,当补丁代码覆盖项目代码时,必须执行以下命令以使补丁代码生效。
php
php bin/console cache:clear --env=prod
chmod -R 777 var/tmp
不幸的是,该命令只能在cli模式下执行;
如何实现此功能?
最后,请原谅我的英语不好。 :simle:
答案 0 :(得分:0)
您可以使用Symfony Process Component来实现:
use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;
$process = new Process('php bin/console cache:clear --env=prod && chmod -R 777 var/tmp');
$process->run();
// executes after the command finishes
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
echo $process->getOutput();
您实际上有多种解决方案:
您还可以创建一个Symfony Command来包装cli命令