警告:mkdir():权限被拒绝生成:bundle

时间:2017-05-14 22:15:18

标签: php symfony file-permissions

我正在尝试从控制器生成一个包。但我有权拒绝错误。我无法弄清楚原因。

这是我的控制器代码:

    $app = new \Symfony\Bundle\FrameworkBundle\Console\Application($this->get("kernel"));
    $app->setAutoExit(false);

    $input = new \Symfony\Component\Console\Input\ArrayInput(array(
        "command"=>"generate:bundle",
        "--namespace"=>"testNewAnBundle",
        "-n"=>""
    ));

    $out = new \Symfony\Component\Console\Output\BufferedOutput();

    $app->run($input, $out);
    return new Response("<body>".$out->fetch()."</body>");

输出结果为:

Bundle generation > Generating a sample bundle skeleton into app/../src/testNewAnBundle [Symfony\Component\Debug\Exception\ContextErrorException] Warning: mkdir(): Permission denied generate:bundle [--namespace NAMESPACE] [--dir DIR] [--bundle-name BUNDLE-NAME] [--format FORMAT] [--shared] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-s|--shell] [--process-isolation] [-e|--env ENV] [--no-debug] [--]

这将在src /中创建文件夹testNewAnBundle /,并且文件夹testNewAnBundle /生成了testNewAnBundle.php和Controller / DefaultController.php文件。

路径testNewAnBundle / * permision是:

drwxrwxrwx+ www-data www-data testNewAnBundle
drwxrwxrwx+ 2 www-data www-data 4096 mai   14 16:13 Controller
-rw-rw-rw-  1 www-data www-data  125 mai   14 16:13 testNewAnBundle.php

1 个答案:

答案 0 :(得分:1)

可能您必须在用户模式(非root)中使用ACL命令行

HTTPDUSER = ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1

sudo setfacl -R -m u:“$ HTTPDUSER”:rwX -m u:whoami:rwX var

sudo setfacl -dR -m u:“$ HTTPDUSER”:rwX -m u:whoami:rwX var