Теперь нужно оставить интерфейс для пользователей, чтобы они могли изменять похожие конфигурационные файлы через веб-интерфейс, основной способ — вызвать Linux shell scrip{filter}t из PHP, поэтому теперь вставьте linux-оболочку, которая может изменять этот конфигурационный файл.
Во-первых, конфигурационный файл отформатирован следующим образом:
Примеры следующие: config.ini:
Конфигурационный файл содержит 3 единицы, представляющие 3 основных аспекта: база данных, бизнес, офлайн; Каждая единица имеет своё имя поля и значение поля.
Упомянутый выше блог может читать такой конфигурационный файл, и пока мы будем модифицировать этот конфигурационный файл через оболочку Linux.
Мы разработали программу под названием modify_config_file и модифицировали её, используя формат ./modify_config_file unit1-field1=changed_value1 unit2-field1=changed_value2 (параметры можно добавлять по необходимости).
Достичь возможности изменять конфигурационный файл несложно, 20-30 строк решают проблему. Однако, исходя из принципа «все входы вредны», необходимо добавить различные методы отказостойкости в оболочку, если ввод параметров пользователя неверен, чтобы успеть своевременно напомнить пользователю и найти проблему, следующее основано на таком первоначальном замысле оболочки, конечно, название modify_config_file:
Пользователь изменяет конфигурацию следующей командой:
Результат выглядит следующим образом:
Среди них первая строка указывает, что интервал номеров строк, где находится BUSINESS unit, обращает внимание на интервал открытия; Вторая строка обозначает все номера строк совпадения с полем, так как может быть несколько единиц одного и того же поля; Третья строка указывает номер строки поля, который в итоге попадает в единичный интервал; Четвёртая строка представляет собой результат пересмотра ряда.
Кроме того, очень вероятно, что пользовательский ввод не соответствует формату, и следующие ошибки будут сообщены и нацелены:
Если вы хотите применить его к другим конфигурационным файлам, нужно изменить путь и имя файла конфигурации в скрипте:
|