如何在Symfony 2中进入维护模式以安全地更新生产应用程序?

Hap*_*per 8 php http-status-code-503 symfony

我需要在生产服务器中更新源文件(从存储库中提取和更新),运行迁移并重新生成缓存资产.

Symfony 2中是否有任何机制可以安全地执行此操作?比如将网站置于"维护模式"(应该抛出503)或其他什么?

Dav*_*cho 5

我刚刚找到了Symfony 2的Bundle,它在控制台中为您提供了2个额外命令,使您的应用程序进入维护模式.在这里:https://github.com/lexik/LexikMaintenanceBundle


Pro*_*tic 3

我一直在尝试决定如何实现这一点。一方面,Symfony2 提供了不错的产品缓存,因此,如果您没有破坏性地修改数据库模式(删除列或表等),您可能只需更改模式,从存储库部署,然后清除产品即可摆脱困境缓存。我大部分时间都是这样处理事情的。

另一方面,如果您确实想进入维护模式,您将需要一个框架负载最小的解决方案(即,您可能不想启动内核),或者您正在击败无论如何,目的是:在你处理事情的时候减轻框架的负担。

如果是我,我可能会编写一个简单的维护脚本,只设置 503 标头,也许提供一些静态 html(从我的网站模板预先生成)并将其发送回用户,然后在我的app.phpto中使用一些条件逻辑当我应该处于维护模式时使用它。它很丑,但很有效。