Symfony中的静态资源缓存

5

我遇到了一个Symfony2页面的问题。似乎存在一些非客户端缓存静态资源(例如zip文件)的情况。在更新页面后的几个小时内,旧文件将被下载,然后突然更新。我强烈怀疑这可能与服务器或某些代理配置有关,因此我怀疑这与Symfony本身无关,因为这没有太多意义,但只是一个健全性检查 - S2是否也会缓存这些文件?


@投票者 这是一个正确的问题。它并不太宽泛,也不含糊,因为不需要任何代码示例。我们应该保持它的开放性。 - Félix Adriyel Gagnon-Grenier
1
谢谢,我不会为自己的问题辩护,尤其是因为它已经解决了我的问题,但我认为这个答案作为未来参考实际上非常有用。 - konrad
我不明白这个问题为什么太宽泛了?我问的是Symfony2是否缓存静态资产。这是关于特定框架特定版本涉及特定类型资产行为的问题。应该缩小哪些方面? - konrad
1个回答

5
Symfony2使用缓存来存储资源和页面。
对于页面,清除缓存很容易,只需运行以下控制台命令即可:
```php php app/console cache:clear ```
对于资源,您可以使用类似的命令清除缓存。
php app/console cache:clear --env=ENVIRONMENT YOUR WORKING IN

对于资产,有多种方式:

安装的资产通过符号链接连接,这些连接可能会中断。要恢复它们:

php app/console assets:install --symlink

资产是通过硬拷贝安装的,因此在更改后需要覆盖它们:
php app/console assets:install

资产被抛售。如果它们被抛售,只有转储才能更新这些资产。
php app/console assetic:dump

转储通常只在生产环境中使用。

很好知道!不过我只有FTP访问权限。我知道如何卸载缓存(删除目录)。有没有一种方法可以在没有命令行访问权限的情况下调用这些命令? - konrad
我想不起来了。这些命令只能从命令行执行。但是你可以编写一个PHP文件来为你执行这些命令行命令。 - KhorneHoly
@konrad 很高兴我能帮到你。 - KhorneHoly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接