Symfony - 使用命令运行 Phing 任务

鲁本

当我尝试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/web

Output:
================


Error Output:
================
sh: 1: bin/phing: not found

Linux 命令,例如'ls' 工作正常。如何从代码运行 phing 命令?

离子巴赞

我猜你正试图phingController. 因此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 启动流程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章