【问题标题】:Storing Configuration without MySQL在没有 MySQL 的情况下存储配置
【发布时间】:2011-09-13 11:07:45
【问题描述】:

我希望能够在不使用 mysql 的情况下存储网站配置。我还希望用户能够从网页更改此信息。最好的方法是什么?

【问题讨论】:

  • 很抱歉花了这么长时间才接受答案。远离我的电脑。

标签: php configuration storage flat-file


【解决方案1】:

有价值的选项是 SQLite database,或者如果您想要一个非常简单的选项,则只是一个包含 serialized 数组的 PHP 文件:

// reading configuration
$config = unserialize(file_get_contents('config'));

// storing configuration
file_put_contents('config', serialize($config));

【讨论】:

  • 我想让这个项目尽可能地保持平面文件,序列化数组是个好主意。
  • SQLite 数据库只是一个包含您的数据库的平面文件,但是对于这样一个简单的需求来说它也更加复杂!
  • 啊,谢谢你的信息。你还能想到其他方法吗?我看到很多网站都在制作“可编辑设置”,但我知道它们使用的是 MySQL 数据库。我试图将其保留为平面文件,因为我的项目只有一个数据库表并且我想分发它,而且我不想为下载它的人分发一个巨大的 sql 文件以导入他们的 MySQL数据库。
  • 如果你已经有一个 MySQL 数据库来存储其他东西,那么我也会用它来存储配置,除非有很好的理由这样做(我不确定你的理解!)
  • 我只是不想用我的代码分发一个大的 .sql 文件,我想我很挑剔。
【解决方案2】:

存储文件是最简单的选择。您可以将其存储为纯文本、XML、JSON 等。您可能想尝试一个可由 PHP 读取/写入的 ini 文件 - 在这种情况下,this answer 应该会有所帮助。

【讨论】:

    【解决方案3】:

    我会使用 .ini 文件格式来存储配置。它的原始格式是人类可读的,并且很容易通过 PHP (parse_ini_file) 解析。这里要注意的一点是 PHP(奇怪地)不支持本地写入 ini 文件,但是如果您查看 parse_ini_file 的手册页,您可以找到用户提交的示例。

    虽然我没有在 PHP 项目中使用过,YAML(另一种标记语言)似乎是存储配置信息的好格式(它几乎是 rails 项目的默认配置格式)。您可以使用syck pecl 库轻松读写 YAML 格式的内容

    【讨论】:

      【解决方案4】:

      如果您无法在自己的服务器上存储数据,您可以尝试基于云的数据库。

      【讨论】:

        猜你喜欢
        • 2023-03-08
        • 2017-12-02
        • 1970-01-01
        • 2011-09-15
        • 2019-10-31
        • 1970-01-01
        • 2023-03-06
        • 2019-01-09
        • 2019-01-15
        相关资源
        最近更新 更多