これが問題です。
app/cacheフォルダーにストアをキャッシュします。現在、開発環境で作業しており、キャッシュはapp/cache/devフォルダーに保存されています。symfony コンソール コマンドを使用してキャッシュをクリアすると、問題が発生します。
php アプリ/コンソール キャッシュ:クリア
プロジェクトのlocalhost/symfony/dev_app.phpを読み込もうとすると、エラーが表示されます:
RuntimeException: キャッシュ ファイルの書き込みに失敗しました
Debian は chmod a+ をサポートしていないため、setfacl拡張機能をインストールしました。
最初に、http リクエストが実行されたときに使用したユーザーを確認しました。
ps aux | grep http
ahmed 7219 0.0 0.0 7552 884 pts/0 S+ 19:51 0:00 grep http
次に、実行してアプリ/キャッシュフォルダーをクリアしました
rm -rf app/cache/*
次のステップは次のとおりです。
setfacl -R -m d:u:ahmed:rwx,ahmed:rwx app/cache
私が理解しているように、このコマンドは app/cache フォルダーとその現在および新しいサブフォルダーとファイルに対するユーザー ahmed のデフォルトのアクセス許可を設定します。
私のコンソールでは、ahmedユーザーの下で作業しています。
このすべての手順の後、localhost/symfony/dev_app.phpをロードし、キャッシュを作成しました。それで
php app/console cache:clear
そしてもう一度 **ocalhost/symfony/dev_app.php* で新しいキャッシュを作成します。しかし、私はまだこのエラーを受け取ります
RuntimeException: キャッシュ ファイル "/var/www/local/symfony/app/cache/dev/classes.php" の書き込みに失敗しました。
それで、私は何を間違っていますか?
app/cache/devの getfacl のリストは次のとおりです。
ahmed@ahmed:/var/www/local/symfony$ getfacl app/cache/dev
# file: app/cache/dev
# owner: root
# group: ahmed
# flags: -s-
user::rwx
user:ahmed:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:ahmed:rwx
default:group::r-x
default:mask::rwx
default:other::r-x