Mon site Web Symfony 2 m'a récemment causé des problèmes lorsque j'essaie de vider le cache. Je tape la commande suivante dans le terminal:
php app/console cache:clear --env=dev
Et obtenez l'erreur suivante:
[ErrorException]
Warning: rename(/var/www/corpsite/corpsite/app/cache/dev,/var/www/corpsite/corpsite/app/cache/dev_old): Directory not empty in /var/www/corpsite/corpsite/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php line 74
Je modifie donc les autorisations sur ce fichier en 777 et relance la commande clear cache, qui me donne cette erreur:
[ErrorException]
Warning: unlink(/var/www/corpsite/corpsite/app/cache/dev_old/twig/6b/e9/4491e41b895786689b86f32f446f.php): Permission denied in /var/www/corpsite/corpsite/vendor/symfony/src/Symfony/Component/HttpKernel/Util/Filesystem.php line 100
Je peux contourner le problème en supprimant le dossier 'dev_old', mais je souhaite résoudre le problème à l'origine du problème.
P.S - Je sais que le site fonctionne en mode dev. Le site est en ligne depuis 10 mois et cela n’a jamais été un problème auparavant.
Toute aide est appréciée!
Vous devez obtenir vos droits d’accès sur les dossiers de cache et de journaux. Pour ce faire, vous pouvez suivre les indications données ici: http://symfony.com/doc/current/book/installation.html#configuration-and-setup
Il existe plusieurs manières, selon votre système d'exploitation (remplacez www-data par votre utilisateur Apache):
Si cela supporte chmod + a:
$ 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
Sinon, s'il prend en charge setfacl (voir https://help.ubuntu.com/community/FilePermissionsACLs ):
$ 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
Sinon, mettez ces lignes au début de app/console, web/app.php et web/app_dev.php (non recommandé):
umask(0002); // This will let the permissions be 0775
// or
umask(0000); // This will let the permissions be 0777
dans Symfony3 dossiers avec cache déplacés de app
à var
, la commande sera donc:
$ rm -rf var/cache/*
$ rm -rf var/logs/*
$ Sudo chmod +a "www-data allow delete,write,append,file_inherit,directory_inherit" var/cache var/logs
$ Sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" var/cache var/logs