最标准、最安全的方式是使用内置命令 php bin/console cache:clear,它会自动删除并重建对应环境的缓存目录、处理权限、触发预热;指定环境用 --env=dev/prod;强制重建用 --force;不推荐手动 rm -rf。

清理 Symfony 4.4 项目中 var/cache 目录的文件,最标准、最安全的方式是使用内置控制台命令:
直接运行缓存清除命令
在项目根目录下执行:
php bin/console cache:clear
该命令会:
- 删除
var/cache/下所有环境相关的缓存子目录(如dev/、prod/) - 重新生成对应环境的缓存结构(包括容器、路由、Twig 模板等)
- 自动处理权限问题(前提是
var/cache和var/logs对 Web 服务器用户和 CLI 用户都可写)
清理指定环境的缓存
若只想清开发环境或生产环境缓存,加 --env 参数:
php bin/console cache:clear --env=dev
php bin/console cache:clear --env=prod
注意:Symfony 4.4 默认使用 APP_ENV 环境变量决定当前环境,--env 是显式覆盖方式,一般用于调试或部署脚本。
强制重建缓存(跳过检查)
当遇到“缓存损坏”或“类未找到”等异常时,可加 --no-warmup 或 --force 配合使用:
php bin/console cache:clear --force
该选项会强制删除并重建全部缓存,不尝试复用已有内容,适合 CI/CD 或部署后首次启动。
手动删除前的注意事项
不推荐直接用 rm -rf var/cache/*,除非你清楚后果:
- 可能残留
.gitignore未覆盖的隐藏文件(如.htaccess或.gitkeep),导致后续命令报错 - 不会重建缓存目录权限,Web 服务器(如
www-data)可能无法写入新缓存 - 不会触发缓存 warmup,首次请求会明显变慢甚至 500 错误
如果必须手动删,请顺带确保权限正确:
sudo chown -R $USER:www-data var/cache var/logs
sudo chmod -R 775 var/cache var/logs
(适用于 Ubuntu/Debian,且已配置 ACL 或组权限)


















