0

私はsymfonyタスクコール「doNothing」を持っていて、それを実行から実行したいshell_exec('/var/www/esm/symfony php symfony doNothing');

私のsymfonyアクションを呼び出すことによって

許可が拒否されたというApacheエラー。

www-dataユーザーには許可がないと思いますが、どうすればこれを解決できますか?

編集済み

error is

sh: /var/www/esm/symfony: 許可が拒否されました

4

1 に答える 1

2

スクリプトがあるディレクトリを確認する必要があります。

フォルダー内のすべてのファイルとそのア​​クセス許可を表示するために使用ls -laします (php スクリプト ファイルを実行するには、www-data またはそのグループに少なくともxビットが割り当てられている必要があります)。

また、apache がディレクトリを変更できるようにするには、 までのすべての親ディレクトリにユーザー/グループにビットを割り当てる/必要があります。x

見て。ツリー構造のファイル システムがあります。

  • /var/wwwにある/var
  • /var/www/esmにある/var/www
  • /var/www/esm/symfonyにある/var/www/esm

したがって、www-data ユーザーはx、そのディレクトリのすべてを実行 (ビット) できる必要があります。

したがって、/実行時に、www-data ユーザーまたはそのグループ (drw rw ---) のビットがls -lあり、このディレクトリを所有している場合を/var確認します。実行中など...xxx/varls -l

すべてのディレクトリのアクセス許可を 777 に変更できます。ただし、-Rキーは使用しないでください。ディレクトリのみへのアクセス許可を変更するだけです。

于 2011-09-02T09:56:47.793 に答える