2017-05-14 14 views
0

コントローラからバンドルを生成しようとしています。しかし、私はエラーを拒否された許可を持っています。そして私は理由を理解できません。ここで警告:mkdir():アクセスが拒否されました:bundle

は私のコントローラのコードです:

$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とコントローラ/ 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

を使用すると、ユーザーモード(rootではなく)

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でACLのコマンドラインを使用する必要がありかもしれませ-mu: "$ HTTPDUSER":rwX -mu:whoami:rwX var

sudo setfacl -dR -mu: "$ HTTPDUSER":rwX -mu:whoami:rwX var

+0

詳細については、コード 'ps axo user、comm | grep -E '[a] pache | [h] ttpd | [_] www | [w] ww-data | [n] ginx' | grep -v root | head -1'は 'www-data Apache'のようなものを返します。スペースに注意してください。 '\'はありません。ですから 'cut -d \ -f1'区切り文字' \ 'は機能しません。 – user3502626

関連する問題