4

最近、Symfony 2 サイトに変更を加え、そのサイトでキャッシュのクリア コマンドを実行しました。その後、サイトに戻ったとき、ページは空白でした。

これが私が実行したコマンドです

app/console cache:clear --env=prod

キャッシュ フォルダーのファイル アクセス許可が関係しているのではないかと聞いたことがありますが、よくわかりません。ユーザーレベルでログインしたときに「アクセスが拒否されました」というエラーが発生したため、上記のコマンドを実行できるようにルートレベルでログインしました。

どんな助け/洞察も大歓迎です。

4

2 に答える 2

4

app/cacheとの権限が、Web サーバー ユーザーと CLI ユーザーの両方app/logsに対して正しく設定されていることを確認します。 Symfony Bookには、その方法に関する説明があります。

お使いの OS がchmod +a(OSX) をサポートしている場合は、次の操作を実行できます。

$ rm -rf app/cache/*
$ rm -rf app/logs/*
$ sudo chmod +a "www-data allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
$ sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs

お使いの OS がサポートされておりsetfacl(Ubuntu など)、ACL サポートが有効になっている場合は、次の操作を実行できます。

$ sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache app/logs
$ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs

注: どちらの例も、Web サーバー ユーザーのユーザー名がwww-data

于 2013-07-18T17:40:46.097 に答える