通过CMS管理网站配置

时间:2011-04-28 00:26:25

标签: database content-management-system configuration-files

我已经阅读过Stack Overflow上与此问题非常相似的问题,但不完全相同。

假设我的网站每个页面都包含以下config.inc.php文件:

<?php

    $site_name = 'Acme Inc.';

    $authenticate_with_ldap = true;

    $ldap_host = 'ldap.example.com';
    $ldap_port = 389;
    $ldap_rdn = 'ldap-user';
    $ldap_password = 'ldap-pass';
    $ldap_dn = 'ou=example,dc=example,dc=com';

    $smtp_username = 'smtp-user';
    $smtp_password = 'smtp-pass';

    $recaptcha_publickey = 'my-recaptcha-publickey';
    $recaptcha_privatekey = 'my-recaptcha-privatekey';

?>

注意:我选择将网站配置保存在文件而不是数据库中,因为信息在整个网站上使用,而且代码会更多,而且我猜,要有更多的开销。始终查询数据库中的相同信息。

现在让我们假设网站管理员是那种喜欢使用CMS编辑上述信息的人,而不是手动进入和编辑文件。我担心的是,当网站管理员点击“更新”按钮并且PHP脚本到达覆盖config.inc.php文件的file_put_contents函数时,可能会出错并损坏文件或使其无法使用由于语法错误或其他原因。

这是一个合理的担忧吗?我应该告诉网站管理员他应该坚持下去并手动编辑文件吗?我应该将信息存储在数据库中吗?或者我应该在两个地方存储信息,以便如果文件搞砸了,可以使用数据库中的信息重新生成?

1 个答案:

答案 0 :(得分:0)

如果您将该信息作为单行数据存储在数据库中,那么它不会被缓存吗?