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