我想向 Symfony 应用程序添加“维护模式”——我在运行时设置的简单 bool 配置。 Controller (或者可能是前端 Controller )可以检查这个值或者;正常处理请求,或返回 HTTP 503 和友好消息。
我可以想到 3 种可能的解决方案:
参数.yml 这是放置配置的合理位置,但它会被 Symfony 应用程序缓存,使用维护模式可能需要
cache:clear
才能生效。我想避免这种情况!自定义配置文件 它可以查找“maintenance.flag”的存在或读取自定义文件中的设置。这是为每次 Controller 访问添加额外的磁盘操作,感觉效率低下。
一个环境变量 它可以使用
getenv()
来查找维护模式环境变量的存在和值。这感觉是一种有效的方法,我想不出有任何负面影响。
有没有人找到实现这种功能的有效方法?我是在重新发明轮子吗?
最佳答案
有一个非常好的 symfony 包。看看这个
您只需将它安装到您的项目中,然后您就可以使用命令行将您的站点置于维护模式。
您可以设置许多配置,例如此状态的持续时间、自定义错误页面等。
关于php - Symfony 应用程序的运行时配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35158896/