j'ai installé le pack d'administration sonata . Après l'installation, je rafraîchit ma page, le problème de cache se pose
rm -rf app/cache app/log
pour supprimer le cache.Ensuite, je crée également le directeur à l'aide de la commande
mkdir app/cache app/log
alors j'ai eu le nouveau problème comme celui-ci
Runtime Exception : Unable to create the cache directory (/var/www/sonata/app/cache/dev). Please help .
Cela ressemble à un problème d'autorisation de fichier/répertoire. Le répertoire doit être accessible en écriture sur le serveur Web. Après avoir créé le répertoire, vous devez ajuster les autorisations avec
$ chown -R www-data:www-data app/cache
et
$ chown -R www-data:www-data app/log
sur la ligne de commande.
Cela ne fonctionne que sur les systèmes Linux. L'utilisateur et le groupe dépendent de votre distribution. Sur Debian et Ubuntu, cela devrait être www-data, sur CentOS c'est toujours Apache.
Une autre solution serait de ne pas supprimer tous les dossiers, mais seulement leur contenu via
$ rm -rf app/log/* app/cache/*
Mais s'il vous plaît soyez prudent avec cette commande.
Cette solution est correcte: https://stackoverflow.com/a/20128013/2400373
Mais il est nécessaire de changer les 2 commandes dans Symfony3
: Tout d’abord, vous devez vous trouver dans le dossier du projet:
$ Sudo chown -R www-data:www-data var/cache
$ Sudo chown -R www-data:www-data var/logs
Après avoir supprimé le cache:
$ Sudo rm -rf var/cache/*
$ Sudo rm -rf var/logs/*
Cordialement
Et pour les centos:
chown -R Apache:apache app/cache
si vous venez ici pour l'aide de Symfony, vous devrez peut-être le faire également si vous supprimez tout le dossier app/logs
chown -R Apache:apache app/logs
Je l'ai résolu en changeant d'utilisateur et de groupe de dossiers var/cache
et var/logs
, puis j'ai nettoyé le cache:
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/*
Changer le CHMOD peut aider, mais au cas où le cache vous importunerait au cours du développement, vous pouvez simplement le désactiver . Accédez au fichier de configuration de votre application (situé dans ../app/config/config.yml à partir du répertoire racine). Faites défiler jusqu'aux paramètres de configuration de twig (sous twig :) et modifiez la valeur de cache (qui doit pointer vers le répertoire de cache) sur false comme suit:
twig:
cache: false
Si vous ne voyez aucune entrée de configuration de cache, ajoutez simplement la ligne ci-dessus.
C'est principalement le problème de la permission.
Je l'ai résolu sur MAC en utilisant la commande: $ Sudo chmod -R 777 <path/to/cache/directory>
Vous pourriez essayer: $ Sudo chmod -R 777 /var/www/sonata/app/cache
Sur un mac ordinateur, ce sera:
$ Sudo chown -R _www:_www var/cache
$ Sudo chown -R _www:_www var/logs
Si rien de ce qui précède ne vous convient , appelez un "phpinfo ()" sur votre fichier php et recherchez la valeur "Utilisateur/Groupe". C'est le groupe d'utilisateurs à qui donner l'autorisation.
Ce qui se passe probablement, c’est que vous essayez de créer le fichier sous Apache/nginx. Par défaut, umache est défini sur 0022 pour Apache ou nginx.
De: http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html
Expliquez le mode umask octal 022 et 002
Comme je l'ai dit précédemment, si les paramètres par défaut ne sont pas modifiés, les fichiers sont créés avec le mode d'accès 666 et les répertoires avec 777. Dans cet exemple:
Le umask 002 par défaut utilisé pour l'utilisateur normal. Avec ce masque, les autorisations de répertoire par défaut sont de 775 et les autorisations de fichier par défaut sont de 664 . Le umask par défaut pour l'utilisateur root est 022 et les autorisations de répertoire par défaut sont 755 et les autorisations de fichier par défaut sont 644 . Les autorisations de base pour les répertoires sont (rwxrwxrwx) 0777 et pour les fichiers, elles sont 0666 (rw-rw-rw).
Avant de pouvoir créer les répertoires, vous devez définir manuellement umask sur 0002 et le réinitialiser.