问题描述
如何清除Symfony 5中的缓存?
https://symfony.com/doc/current/cache.html#clearing-the-cache的官方文档说,我们应该使用PHP bin/console cache:pool:clear cache.global_clearer
命令。但这并不能清除缓存,因为我被困了20分钟,思考为什么不刷新某些文件。
然后我以旧的方式使用PHP bin/console cache:clear --env prod
,但是这总是会破坏权限,因此每次都必须运行sudo chmod 777 -R var/cache
。
我在Centos7上。
解决方法
您用于清除缓存的用户是否与php用户相同?
您的chmod 777
之所以有效,是因为最后一个7
。这不是最佳做法。
以下是Apache和PHP-FPM的一个示例:
[php-fpm@myserver myproject]$ ll var/cache/prod/
total 756
-rw-rw---- 1 php-fpm www 5688 2 déc. 15:33 annotations.map
-rw-rw---- 1 php-fpm www 529129 2 déc. 15:33 annotations.php
drwxrwx--- 2 php-fpm www 4096 2 déc. 15:33 ContainerEKUR7PE
drwxrwx--- 3 php-fpm www 4096 2 déc. 15:33 doctrine
drwxrwx--- 11 php-fpm www 4096 2 déc. 15:33 pools
-rw-rw---- 1 php-fpm www 100 2 déc. 15:33 serialization.php
-rw-rw---- 1 php-fpm www 761 2 déc. 15:33 srcApp_KernelProdContainer.php
-rw-rw---- 1 php-fpm www 0 2 déc. 15:33 srcApp_KernelProdContainer.php.lock
-rw-rw---- 1 php-fpm www 103727 2 déc. 15:33 srcApp_KernelProdContainer.php.meta
-rw-rw---- 1 php-fpm www 34142 2 déc. 15:33 srcApp_KernelProdContainer.preload.php
drwxrwx--- 2 php-fpm www 4096 2 déc. 15:33 translations
drwxrwx--- 114 php-fpm www 4096 2 déc. 15:33 twig
-rw-rw---- 1 php-fpm www 12520 2 déc. 15:33 UrlGenerator.php
-rw-rw---- 1 php-fpm www 5438 2 déc. 15:33 UrlGenerator.php.meta
-rw-rw---- 1 php-fpm www 14979 2 déc. 15:33 UrlMatcher.php
-rw-rw---- 1 php-fpm www 5438 2 déc. 15:33 UrlMatcher.php.meta
-rw-rw---- 1 php-fpm www 5968 2 déc. 15:33 validation.php
-rw-rw---- 1 php-fpm www 3240 2 déc. 15:33 webpack_encore.cache.php
这是我的umask:
[php-fpm@myserver myproject]$ umask
0007
这是我的用户组:
[php-fpm@myserver myproject]$ id
uid=996(php-fpm) gid=1000(www) groupes=1000(www),994(php-fpm)
我的服务器也是CentOS 7。