私はSymfonyをWebサーバにデプロイしています。一度デプロイしたらキャッシュをクリアします。私は0000のumaskを使用しています。これは潜在的な権限の問題を回避するためです(私はdeploumentユーザーの下でクリアを行い、apacheユーザーの下でサイトを実行しています)。symfonyがログディレクトリを作成できません
私はdirs
として/var/symfony/cache/projectname/branchname/environment
と/var/symfony/log/projectname/branchname/environment
を使用して、キャッシュとログを保存しています。これらはAppKernel.php
ファイルで設定されています。
私が展開(使用のPHPのbin /コンソールキャッシュ:= --no-デバッグPRODを明確--envを '):
を[のRuntimeException] 作成できません。私が言うメッセージが表示されますログディレクトリ()
私は/ var/symfony/log/dirにファイルを作成しました。それで問題なく動作しました。なぜキャッシュクリアコマンドが失敗したのでしょうか?
/var/symfony/
ディレクトリのスティッキービットをdrwxrws--t
というように設定しているので、デプロイメントユーザーとしてキャッシュをクリアすると、ユーザーはapacheとして設定され、wwwグループとしてwwwとグループ化されます。
スクリプトを実行するユーザーにこれらのディレクトリを作成する権限がありません。事前に作成するか、親ディレクトリにファイルを作成する権限をユーザーに与えることができます。 ACLを使用して親のユーザ/グループに触れます。サーバーがLinuxの場合は、setfaclコマンドとgetfaclコマンドを参照してください。 – solarc
いいえ、それは問題ではなかった、私は将来のために人々のための答えを投稿しました。 – MicWit