当我尝试bin/phing clear_cache_action从控制台运行该 phing 命令时,一切正常。不幸的是,当我尝试从 Symfony 项目中的控制器运行相同的命令时,出现错误。那我的代码: 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/webOutput:================Error Output:================sh: 1: bin/phing: not foundLinux 命令,例如'ls' 工作正常。如何从代码运行 phing 命令?
1 回答
largeQ
TA贡献2039条经验 获得超7个赞
我猜你正试图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();
但是,除非您真的确定自己在做什么,否则我不建议从 Controller 启动流程。
- 1 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消