Database 通过CMS管理网站配置

Database 通过CMS管理网站配置,database,content-management-system,configuration-files,Database,Content Management System,Configuration Files,我读过关于堆栈溢出的问题,与这个问题非常相似,但不完全相同 假设我的网站的每个页面都包含以下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 =

我读过关于堆栈溢出的问题,与这个问题非常相似,但不完全相同

假设我的网站的每个页面都包含以下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\u put\u contents
函数时,可能会出现问题,导致文件损坏或由于语法错误或其他原因无法使用


这是合理的担忧吗?我是否应该告诉网站管理员,他应该坚持到底,手动编辑文件?我应该将信息存储在数据库中吗?或者我应该将信息存储在两个位置,以便在文件出错时,可以使用数据库中的信息重新生成该文件?

如果将该信息作为一行数据存储在数据库中,它不会被缓存吗