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
函数时,可能会出错,并且由于语法的原因而破坏文件或使其不可用错误或某事。
这是一个合理的关注吗?我应该告诉网站管理员他应该强硬一下并手动编辑文件吗?我应该将信息存储在数据库中吗?或者我应该将这些信息存储在两个地方,以便如果文件混乱,可以使用数据库中的信息重新生成该文件?