Я пытаюсь установить параметр (xdebug.profiler_enable) в моем файле php.ini, используя объект ConfigParser в python. вот код:
раздел в файле php.ini, который я пытаюсь изменить
[xdebug]
;XDEBUG SETTINGS
;turn on the profiler?
xdebug.profiler_enable=0
xdebug.profiler_append=1
xdebug.profiler_enable_trigger=0
xdebug.trace_output_name="%R"
xdebug.profiler_output_dir="/home/made_up_user/www/cachegrind/"
Python
import sys
import ConfigParser
if __name__ == '__main__':
phpIniLocation = "/home/made_up_user/Desktop/phpinicopy.ini";
phpIni = ConfigParser.RawConfigParser();
phpIni.read(phpIniLocation);
xdebugSetting = phpIni.getboolean("xdebug", "xdebug.profiler_enable");
if xdebugSetting:
phpIni.set("xdebug", "xdebug.profiler_enable", "0");
else:
phpIni.set("xdebug", "xdebug.profiler_enable", "1");
Окружающая среда:
Ubuntu 9.04, python 2.6
Все кажется, что работает нормально. Переменная xdebugSetting возвращает логическое значение параметра правильно, я могу проанализировать раздел и получить правильные значения каждого из параметров, а метод set не выдает никаких исключений, но при проверке файла параметры не были изменены. Я использовал RawConfigParser, ConfigParser и SafeConfigParser все с тем же результатом. Скрипт запускается с правами root. Я что-то упускаю? Как заставить работать заданный метод?