caching - Symfony 2 缓存清除问题

标签 caching symfony cache-control

我的 Symfony 2 网站最近在我尝试清除缓存时出现问题。
我在终端中输入以下命令:

php app/console cache:clear --env=dev

并得到以下错误:
[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  

所以我将该文件的权限更改为 777,并重新运行 clear cache 命令,这给了我这个错误:
  [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  

我可以通过删除“dev_old”文件夹来解决问题,但我想解决导致问题的问题。

P.S - 我知道该网站正在开发模式下运行。该网站已上线 10 个月,以前从未出现过这种问题。

任何帮助表示赞赏!

最佳答案

您需要获得对缓存和日志文件夹的访问权限。为此,您可以按照此处给出的指示进行操作:http://symfony.com/doc/current/book/installation.html#configuration-and-setup

有多种方法,具体取决于您的操作系统(将 www-data 替换为您的 apache 用户):

如果它支持 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

否则,如果它支持 setfacl(见 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

否则,将这些行放在 app/console、web/app.php 和 web/app_dev.php 的开头(不推荐):
umask(0002); // This will let the permissions be 0775

// or

umask(0000); // This will let the permissions be 0777

关于caching - Symfony 2 缓存清除问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15814976/

相关文章:

caching - 用 locallang.xlf 翻译 Extbase 扩展,但没有任何反应?

javascript - 在 javascript 中设置时,Chrome 不加载 img src

rest - 如果您已经拥有资源,为什么将 ETag 设置为 MUST 要求?

http-headers - 缓存控制最大年龄元标记未注册

PHP flock函数限制和txt缓存文件

caching - 内核可以管理写在TLB条目上的进程ID吗?

ios - AFNetworking 2.0 从缓存加载然后从远程加载?

web-services - Symfony2 自定义认证 : user logged but not authenticated

symfony - 如何使用带有字符串作为主题的 IsGranted 注释?

symfony 功能测试 : change base url