2011-04-28 114 views
0

我已阅读Stack Overflow的问题,与此问题非常相似,但不完全相同。通过CMS管理网站配置

比方说,我有我的包含网站的每个页面上的以下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函数时,可能会出错,并且由于语法的原因而破坏文件或使其不可用错误或某事。

这是一个合理的关注吗?我应该告诉网站管理员他应该强硬一下并手动编辑文件吗?我应该将信息存储在数据库中吗?或者我应该将这些信息存储在两个地方,以便如果文件混乱,可以使用数据库中的信息重新生成该文件?

回答

0

如果您将该信息作为单行数据存储在数据库中,是否不会缓存呢?