问题:
sf2是否与目录无关?即:我可以在某个目录中执行cache:clear
然后将项目目录移动到另一台机器/目录而不会破坏缓存吗?
情景:
app/console cache:clear
持续约5分钟。我们要求尽量缩短生产时间。 5分钟等待缓存太多了。
我们考虑在本地计算机上运行cache:clear
,然后使用已生成的缓存将产品上传到生产环境。项目的本地路径(/ home / ubuntu / devel / ...)与生产路径(/ var / www)不同,无法调整为相同。
答案 0 :(得分:2)
Symfony2缓存在各个地方使用绝对路径,因此如果路径不同,则无法将缓存从一台计算机复制到另一台计算机。
您真正需要的是通过capifony进行部署。部署后,它会在您的实时计算机上创建一个新文件夹,在该文件夹中准备新版本的项目(包括发布资产,清除缓存等),然后只需使用新文件夹切换旧文件夹。
由于在实时服务器上保留了一定数量的旧版本,如果必须,您甚至可以进行回滚。
您可以使用capifony和Jenkins CI构建一个漂亮的单击部署;)