我正在尝试从控制器生成一个包。但我有权拒绝错误。我无法弄清楚原因。
这是我的控制器代码:
$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
答案 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