在Symfony控制台中调用现有的apache命令

时间:2016-06-14 14:38:13

标签: php symfony symfony-console

我正在尝试构建一个命令行应用程序,它将帮助我为我设置一个新的本地开发环境。它只是创建一些文件来链接虚拟主机的东西。我没有做任何手动。

我只是不确定如何重新启动apache部分。这是我的主要文件;

class SetupEnvironment extends Command
{
    public function configure()
    {
        $this->setName('new')
            ->setDescription('Set up a new development environment.')
            ->addArgument('name', InputArgument::REQUIRED, "Project or application name")
            ->addOption('sub_folder', null, InputOption::VALUE_OPTIONAL, 'Name of public folder', '');
    }

    public function execute(InputInterface $input, OutputInterface $output)
    {
        // make directory for development environment - done

        // create conf file and contents - done

        // create sym-link - done

        // add to pow - done

        // restart apache and powder up - not done

我刚刚开始学习Symfony控制台/文件系统,所以不太确定调用已存在的命令的正确方法,如sudo apachectl restart然后powder up

2 个答案:

答案 0 :(得分:0)

你可以使用exec命令:

exec('sudo apachectl restart');

答案 1 :(得分:0)

尝试使用exec()命令通过php代码运行命令行参数。 http://php.net/manual/en/function.exec.php