sonata管理バンドルをインストールしました。インストール後にページを更新すると、キャッシュの問題が発生したため使用します
rm -rf app/cache app/log
cache.thenを削除するには、コマンドを使用してディレクターも作成します
mkdir app/cache app/log
その後、私はこのような新しい問題を手に入れました
Runtime Exception : Unable to create the cache directory (/var/www/sonata/app/cache/dev). Please help .
ファイル/ディレクトリのパーミッションの問題のようです。ディレクトリは、ウェブサーバーによって書き込み可能である必要があります。ディレクトリを作成した後、権限を調整する必要があります
$ chown -R www-data:www-data app/cache
そして
$ chown -R www-data:www-data app/log
コマンドラインで。
これはLinuxシステムでのみ機能します。ユーザーとグループは、ディストリビューションによって異なります。 DebianおよびUbuntuでは、これはwww-dataである必要があり、CentOSではApacheになります。
別の解決策は、フォルダ全体を削除するのではなく、そのコンテンツのみを削除することです
$ rm -rf app/log/* app/cache/*
ただし、このコマンドには注意してください。
この解決策は正しいです: https://stackoverflow.com/a/20128013/240037
ただし、Symfony3
の2つのコマンドを変更する必要があります。最初に、プロジェクトのフォルダー内にいる必要があります。
$ Sudo chown -R www-data:www-data var/cache
$ Sudo chown -R www-data:www-data var/logs
キャッシュを削除した後:
$ Sudo rm -rf var/cache/*
$ Sudo rm -rf var/logs/*
よろしく
フォルダーのユーザーとグループを変更して解決しましたvar/cache
およびvar/logs
、次にキャッシュを消去しました:
Sudo chown -R www-data:www-data var/logs
Sudo chown -R www-data:www-data var/cache
Sudo rm -rf var/logs/* var/cache/*
また、centosの場合:
chown -R Apache:apache app/cache
symfony Helpにアクセスする場合は、app/logsフォルダー全体を削除する必要があります。
chown -R Apache:apache app/logs
CHMODの変更が役立つ場合がありますが、開発中にキャッシュがユーザーを悩ませる場合は、それを非アクティブ化することができます。アプリの構成ファイル(ルートディレクトリから../app/config/config.ymlにあります)に移動します。 twig構成設定(twig:の下))までスクロールし、キャッシュ値(キャッシュディレクトリを指す必要があります)を次のようにfalseに変更します。
twig:
cache: false
キャッシュ構成エントリが表示されない場合は、上記の行を追加するだけです。
これは主に許可の問題です。
次のコマンドを使用してMACで解決しました:$ Sudo chmod -R 777 <path/to/cache/directory>
試してみてください:$ Sudo chmod -R 777 /var/www/sonata/app/cache
macコンピューターでは:
$ Sudo chown -R _www:_www var/cache
$ Sudo chown -R _www:_www var/logs
上記のいずれにも当てはまらないの場合、phpファイルで "phpinfo()"を呼び出し、 "User/Group"値を見つけます。それが許可を与えるユーザーグループです。
おそらく起こっているのは、Apache/nginxの下にファイルを作成しようとしているということです。デフォルトでは、Apacheまたはnginxのumaskは0022に設定されています。
From: http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html
Octal umaskモード022および002の説明
前述したように、デフォルト設定が変更されない場合、ファイルはアクセスモード666で作成され、ディレクトリは777で作成されます。この例では:
通常のユーザーに使用されるデフォルトのumask 002。このマスクを使用すると、デフォルトのディレクトリ許可は775、デフォルトのファイル許可は664です。rootユーザーのデフォルトのumaskは022です。デフォルトのディレクトリ許可は755、デフォルトのファイル許可は644です。ディレクトリの場合、ベース許可は(rwxrwxrwx)0777およびファイルの場合、それらは0666(rw-rw-rw)です。
ディレクトリを作成する前に、umaskを手動で0002に設定し、以前の設定にリセットする必要があります。
パスも確認してください。私の場合、私は持っていた
return dirname(__DIR__) . '../../../../var/cache/
の代わりに
return dirname(__DIR__) . '/../../../../var/cache/
(欠落している/
)