【问题标题】:What is the preferred deployment strategy for configuration files in PHPPHP中配置文件的首选部署策略是什么
【发布时间】:2014-08-14 11:00:43
【问题描述】:

在 PHP 中部署 Web 应用程序时,并不总是希望将带有密码的配置文件提交到存储库中。

处理此问题的首选方法是什么,即。

  • 将详细信息保存在数据库中,并将配置文件模板化

  • 将文件复制到服务器上(这引发了保存位置的问题 和版本被复制的文件)

  • 在服务器上设置环境变量,并从
    读取配置文件 那个。

或任何其他建议。

【问题讨论】:

  • 就个人而言,我提交的配置文件没有密码和用户名。然后我将它添加到忽略列表中,因此一旦配置它就不会被提交。我的配置文件通常只包含密码、登录名等。其余的比较公开,比如 settings.class.php
  • 我最近一直支持 Laravel 实现的配置:laravel.com/docs/…

标签: php file deployment config


【解决方案1】:

您可以将配置文件放在公共文件夹之外的文件夹中,并使用.htaccess 文件限制对该文件夹的访问。当然,如果您使用 Apache 作为网络服务器,这将有效。

【讨论】:

  • 这个问题更多是基于如何获取文件,而不是文件应该在哪里。
  • 啊,很抱歉,在这种情况下,您几乎没有选择。如果你使用的是 git 等版本控制,你可以在服务器端克隆它,其他选项是使用capistranorb.com 作为部署策略,你也可以使用 rsync 命令。你也可以像 Symfony 那样采用yaml.org 文件进行配置。希望这会有所帮助
  • 当然,但是如何将配置文件保留在存储库之外 - 通常您不希望敏感信息出现在存储库中。
  • 假设您使用的是 git,请将它们添加到 '.gitignore' 文件中。 git 根本不会跟踪它们,也不会将它们推送到存储库。然后使用scp 将它们安全地复制到您的服务器。请记住,您不会从 git 对这些文件进行更改跟踪。
猜你喜欢
  • 2010-09-30
  • 2010-10-14
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多