2011-04-28 127 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

如果您將該信息作爲單行數據存儲在數據庫中,是否不會緩存呢?