在基于Zend的应用程序的传统编码中,数据库设置存储在application.ini中.这将按应用程序存储设置.
StackOverflow上有没有人探讨过将数据库设置从application.ini迁移到环境中的可能性?例如,一种基本方法是在Apache2 envvars文件中存储可能的数据库连接设置,或者可能在/ etc/profile或/ etc/environment中存储.
我想这样做有几个原因:
1)在应用程序中具有实时,生产数据库设置存在安全风险.开发人员可能无意中连接到实时数据库并导致客户敏感数据受损.这将保护开发人员,企业和最终用户.
2)很难维护和管理多个应用程序的数据库设置.例如,如果数据库的用户名或密码发生更改,那么我们需要更改application.ini或多个应用程序,这意味着只会再次推出该文件或整个应用程序.
3)可以将应用程序部署到数据库设置不同的多个"生产"环境中.因此,application.ini中可能必须有多个部分 - 例如,production-datacentreX,production-datacentreY.
如您所见,有一个关于在服务器端保留数据库设置的争论.因此,在全局区域中的应用程序外部可能有数据库设置供所有应用程序访问可能更好吗?这可能是它自己的源代码控制,也许是开发人员无法访问的.
你们有什么想法?有人做过类似的事吗?我喜欢全局application.ini的想法(可能叫做database.ini?)
期待听到有关该主题的一些回应.
问候,
史蒂夫