有没有办法在 Symfony 上自动清除缓存?
Is there a way to clear the cache automatically on Symfony?
我正在开发“遗留”Symfony(它使用 Symfony 4 但不再维护)。问题是缓存文件夹每天都在增长,几个月后增加了50GB。
它是 运行 作为 DEV 环境,但由于原始开发人员离开了公司,我们只想“修补” [=] 后清理缓存的问题15=]X 时间,而不是将环境更改为生产环境(这可能会导致不同的问题,也许它不会解决缓存问题),就像 rotating Symfony logs 一样,您可以在其中配置 Symfony每天在不同的文件中记录并自动删除旧文件。
没有现成的方法可以在应用程序中执行此操作。
只是时不时地清除缓存。 (bin/console cache:clear
)。您甚至可以将此作为 cron 作业安排到 运行 过夜,该过程通常最多只需要 couple/few 秒。
确保您 运行 使用与 运行 应用程序相同的用户的命令(例如 www-data
,因为如果您 运行 命令作为 root
将使用错误的权限预热缓存)。
请注意,运行在开发模式下运行生产系统本质上是危险的,因为它更有可能在意外情况下泄露配置数据。
我正在开发“遗留”Symfony(它使用 Symfony 4 但不再维护)。问题是缓存文件夹每天都在增长,几个月后增加了50GB。
它是 运行 作为 DEV 环境,但由于原始开发人员离开了公司,我们只想“修补” [=] 后清理缓存的问题15=]X 时间,而不是将环境更改为生产环境(这可能会导致不同的问题,也许它不会解决缓存问题),就像 rotating Symfony logs 一样,您可以在其中配置 Symfony每天在不同的文件中记录并自动删除旧文件。
没有现成的方法可以在应用程序中执行此操作。
只是时不时地清除缓存。 (bin/console cache:clear
)。您甚至可以将此作为 cron 作业安排到 运行 过夜,该过程通常最多只需要 couple/few 秒。
确保您 运行 使用与 运行 应用程序相同的用户的命令(例如 www-data
,因为如果您 运行 命令作为 root
将使用错误的权限预热缓存)。
请注意,运行在开发模式下运行生产系统本质上是危险的,因为它更有可能在意外情况下泄露配置数据。