9

cache&フォルダーにアクセス許可を与える方法をいくつか試しましたlogsが、その時点でキャッシュをクリアするたびに、ディレクトリに書き込めないなどの問題が発生します。

私はこの2つの方法を試しました:

  1. rootパーミッションを持つユーザーによるキャッシュへのフルアクセス777
  2. www-dataSymfony2 docs で述べたように所有者を変更します。

しかし、それは私にはうまくいきませんでした。

4

6 に答える 6

7

SElinux をオフにしたくない場合の解決策は次のとおりです。

cd your/symfo/app
chcon -R -t public_content_rw_t app/cache
chcon -R -t public_content_rw_t app/logs
setsebool -P allow_httpd_anon_write 1
于 2013-05-22T14:43:52.767 に答える
3

なぜそれが起こるのか

このような問題が発生する最も一般的な状況は、Web サーバーのユーザーがプロジェクトが属するフォルダーに書き込む権限を持っていない場合です。実際には、ユーザー (php-cli/php-fpm) から実行されるいくつかのテストまたはコンソール コマンドを実行したい場合があるため、app/cache および app/logs の所有者を変更しても常に役立つとは限りません。その結果、現在のユーザーからキャッシュまたはログ フォルダーが作成され、Web サーバー ユーザーはそれにアクセスできなくなります。

解決

私の提案は、 Webサーバーユーザー(おそらくwww-data)をユーザーグループに追加するユーザーからWebサーバーを実行することです-そうすれば、そのような問題は永遠に忘れられます;)

同様の問題、よく説明された回答: Symfony2 の権限の問題

于 2012-07-24T13:19:41.530 に答える
2

「構成とセットアップ」セクションの「アクセス許可のセットアップ」サイドノートを参照してください。アプローチを使用することをお勧めします。setfacl

于 2012-07-17T10:29:03.327 に答える
-2

一時的な解決策:

SElinux を永久に無効にする

SElinux を永久に無効にするには、SElinux の構成ファイル /etc/selinux/config を編集し、それを無効にする行を追加/変更する必要があります: SELINUX=disabled

注: SElinux を無効にするのは安全ではありませんが、開発環境では問題ありません。

恒久的な解決策:

アクセス許可の問題に対処する良い方法は、公式のガイドラインに従ってアクセス許可を設定することです。

于 2012-07-28T05:39:59.047 に答える
-3

su ユーザーとして次のコマンドを使用して、SELinux セキュリティをオフにします。

echo 0 > /selinux/enforce
于 2012-07-28T05:34:24.063 に答える