我正在运行几个不同的PHP购物车,我们试图在版本控制下获取各种配置文件。到目前为止,我们刚刚在git中忽略了它们,因为我们不希望任何人都可以使用生产级密码。此外,我们大多数开发人员正在运行具有独特信息的本地安装。在Apache环境中配置变量变量
当谈话与我们有关该问题的系统管理员我突然想起,我们可以在Apache虚拟主机块设置环境变量和PHP访问它们,就像这样:
阿帕奇:SetEnv db_user "username"
PHP:<?php $config['db']['user'] = $_ENV['db_user'];
它看起来像没有问题,但我从来没有见过这样做之前完成。以这种方式处理身份验证信息是否有任何含义(技术,安全等)或限制?
环境变量被广泛用于区分应用程序环境(例如生产与分期与开发);如果您对可以访问git存储库的用户不满意,我并不认为保留实际的数据库证书的缺点,但在此处查看更多答案很有意思。你应该在这种情况下使用'$ _ENV'而不是'$ _SERVER'。 – lanzz
你说得对,@lanzz,$ _ENV是访问我想要的数据的更好方式。谢谢! –
Heroku使用这种方法开箱即用Facebook应用程序(存储应用程序ID和密钥)。它还使您的代码更具可移植性,因为您的重要细节未经您的源代码处理。 – rbaker86