提问人:Ruben 提问时间:7/31/2019 更新时间:8/1/2019 访问量:217
Symfony - 使用命令运行 Phing 任务
Symfony - use Command to run Phing task
问:
当我尝试从控制台运行该phing命令时,一切正常。不幸的是,当我尝试从Symfony项目中的控制器运行相同的命令时,我得到了一个错误。bin/phing clear_cache_action
我的代码:
public function clearAction()
{
$process = new Process('bin/phing clear_cache_action');
$process->run();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
echo $process->getOutput();
}
Symfony向我返回了这个错误:
The command "bin/phing clear_cache_action" failed.
Exit Code: 127(Command not found)
Working directory: /var/www/caolin/web
Output:
================
Error Output:
================
sh: 1: bin/phing: not found
Linux 命令,例如“ls”正常工作。 如何从代码中运行 phing 命令?
答:
0赞
Ion Bazan
7/31/2019
#1
我猜您正在尝试从 .因此,而不是解决不存在的原因。您应该将当前工作目录设置为:phing
Controller
Working directory: /var/www/caolin/web
/var/www/caolin
bin/phing
/var/www/caolin/web/bin/phing
%kernel.project_dir%
$process = new Process(
['bin/phing', 'clear_cache_action'],
$this->getParameter('kernel.project_dir')
);
$process->run();
但是,我不建议从控制器启动进程,除非您真的确定自己在做什么。
评论
1赞
hspaans
7/31/2019
第二行不应该是这样的:['bin/phing', 'clear_cache_action'],
评论