Управление конфигурацией сайта через CMS - PullRequest
0 голосов
/ 28 апреля 2011

Я прочитал вопросы о переполнении стека, очень похожие на этот вопрос, но не совсем так.

Допустим, у меня был следующий файл 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-скрипт попадает в функцию file_put_contents, которая перезаписывает файл config.inc.php, что-то может пойти не так и повредить файл или сделать его непригодным для использования из-засинтаксическая ошибка или что-то в этом роде.

Это разумная проблема?Должен ли я сказать администратору веб-сайта, что он должен просто настроить его и отредактировать файл вручную?Стоит ли хранить информацию в базе данных?Или я должен хранить информацию в обоих местах, чтобы, если файл испортился, его можно было восстановить, используя информацию в базе данных?

1 Ответ

0 голосов
/ 06 мая 2011

Если вы храните эту информацию в БД в виде одной строки данных, не будет ли она кэшироваться в любом случае?

...