有没有人有一个很棒的系统或任何想法,可以按照标题所说的那样做?
我想将 Web 应用程序的生产版本(用 PHP 编写并由 Apache 提供服务)从 1234 版切换到 1235 版,但在此之前,所有文件都已经在操作码缓存 (APC) 中。然后在切换之后,从版本 1234 中删除文件的旧缓存条目。
据我所知,有三种简单的方法可以原子地从一个版本切换到下一个版本。
- 有一个符号链接,例如 /live,它始终是文档根目录,但更改为从一个版本指向下一个版本。
同样,有一个目录/live 始终是文档根目录,但使用
mv live oldversion && mv newversion live
切换到新版本。
- 编辑 apache 配置以将文档根目录更改为 newversion,然后重新启动 apache。
我认为最好不要做 3,但无论如何我都想不出预编译所有 php 文件并使用 1 或 2 来切换版本。
那么有人可以说服我可以依赖选项 3,或者告诉我如何使用 1 或 2,或者透露一些我没有想到的其他选项吗?