![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| gcc |
|
||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
нашел мод для работы с файлами конфигов просмотра, редактирование и добавление директив
http://search.cpan.org/~rsoliv/Apache-Admi...ig.pm#set_value но вот это ткод не выполняеться:
как исправить? вот это работает:
Это сообщение отредактировал(а) gcc - 8.9.2008, 05:57 |
||||||
|
|||||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
вот так:
У вас метод section возвращает уже готовый список, а не ARRAYREF. |
|||
|
||||
| gcc |
|
||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
не хочет он возвращать никакой список
работает, но он не возвращает список директив:
если я хочу значение одной директивы заменить, в этом модуле не реализуемо это? в примере написано, что он должен возваратить список, так как я писал в первом посте, но не работает, почему-то (зачем тогда так было написано в документации модуля?) тоесть мне нужно возвратить директивы, но это не работает... модуль не правильно сделан, или я не так делаю... или самому парсер нормальный сделать... Это сообщение отредактировал(а) gcc - 9.9.2008, 01:04 |
||||||
|
|||||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
наверное я плохо знаю мощность языка программирования perl
можите подсказать как заменить некоторые значение директив и как список всех директив возвратить? (если бы сделать на php, то там наверное надо просто было перезаписать весь файл с новой директивой...) Это сообщение отредактировал(а) gcc - 9.9.2008, 03:37 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
gcc, при чем тут perl ?
вам нужно очень внимательно изучить документацию по модулю, а не только синопсис просмотреть. если документация прочитана, что то сделано по документации и все равно не работает - совет: посмотрите и исходники и ТЕСТЫ к модулю, документация могла устареть. P.S. set_value позволяет менять значение директивы |
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
вот есть set_write_directive
а что такое $code это ссылка на анонимную подпрограмму или на метод? не могу понять как передать значения сюда:
никогда такого не видел, в книжке нету... Это сообщение отредактировал(а) gcc - 9.9.2008, 15:34 |
||||
|
|||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
почитали доку на CPAN ?
set_write_directive позволяет вам подменить функцию вывода директив. Ну если вам не нравится как работает стандартная. set_value попробуйте. Она позволяет изменить занчение существующей директивы Это сообщение отредактировал(а) sir_nuf_nuf - 9.9.2008, 15:51 |
|||
|
||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
конечно прочитал, там идет сложная стратура методов и объектов а как выбрать параметр, тоесть директиву, чтобы изменить ее значение
значение чего мы будет менять? не понял, сори Это сообщение отредактировал(а) gcc - 9.9.2008, 15:59 |
||||
|
|||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
Сори, сделал!!
я не посомтрел на то как модуль пострен из самого начала... Это сообщение отредактировал(а) gcc - 11.9.2008, 07:13 |
|||
|
||||
| gcc |
|
||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
как сделать если есть такое?
так не работает, это из-за регулярного выражение? не могу найти его... с помощю вот этого
можно как-то переопределить? Это сообщение отредактировал(а) gcc - 11.9.2008, 21:35 |
||||||
|
|||||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
gcc, перепишите вопрос.. ну мы же не экстрасенсы =) ничего не ясно.
скажите словами(без цитат) что вы хотите ? |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
вывести это значние от этого параметра "ErrorDocument 403" (с пробелом)
щас попробу еще раз пересмотреть модуль, но там проверка идеи только на value... другую я не нашел... Это сообщение отредактировал(а) gcc - 12.9.2008, 00:21 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
куда вывести ? просто напечатать ?
давайте по шагам. $vh; # какой-то объект (узел конфигурации надо полагать) @drtvs = $vh->directive('aaa'); # возвращает МАССИВ объектов представляющих собой директивы my $drtv = pop @drtvs # одна из директив. Объект $drtv->value() #значение директивы. его вам надо вывести |
|||
|
||||
| gcc |
|
||||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
да работает, все... но не возвращает вот это
тоесть с пробелом параметр не возвращает, не удаляет и не изменяет пишет ошибку:
это где регулярное выражение запрещает пробел ставить? если так по возвращает и работает!
Это сообщение отредактировал(а) gcc - 12.9.2008, 03:51 |
||||||||
|
|||||||||
| gcc |
|
||||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
это понятно, оно выведит что-то все равно по любому (массив) я имелл виду как использовать это с пробелом, а как теперь перезаписать нормально значение парамтера ErrorDocument 403 ? я нашел вариант удалить все ErrorDocument и записать их заново, но а есть смысл этого модуля вообще, не легче файл (кажого виртуального хоста) удалить и перезаписать его с новой директивой? или есть смысл использовать этот модуль?
Это сообщение отредактировал(а) gcc - 13.9.2008, 10:13 |
||||||||
|
|||||||||
| sir_nuf_nuf |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
может деректива называется не так как ты ожидаешь ?
ну не пиши 403 в названии - получи директивы так:
а потом Data::Dumper посмотри че у них внутри и как добраться до числа 403.
|
||||
|
|||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
не много сделал, времени не хватило делать, не доделал - доделаю, на страницу сразу может вывести очень много информации, правильно ли делать если шаблон в хєш и вывести его отдельно от кода логики?
тот модуль apache::admin::config с ООП не понял как правильно и лучше сделать решил просто отдельно... (реально тот модуль переделать чтобы html прикрутить или это не нужно?)
Это сообщение отредактировал(а) gcc - 24.10.2008, 02:50 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
>>
Это сообщение отредактировал(а) gcc - 7.10.2008, 10:27 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
код я переписал еще, если надо могу показать, но его много, смотреть долго...
есть большие модули со многими директивами, например mod_security, директив штук 100 наверное можно как-то провериться валидность текста который будет введен в apache? сможет ли apache перегрузиться? Это сообщение отредактировал(а) gcc - 24.10.2008, 22:05 |
|||
|
||||
| ginnie |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Коллеги, только я не могу понять смысл предложений?
Это сообщение отредактировал(а) ginnie - 24.10.2008, 22:09 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||
|
|||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
извените, я секунду назад откорректировал
что нужно сдедать: нужно вставить допустим из формы в CGI скрипте данные в файл конфига в секцию vhost... ну можно эти данные которые будут вставляться проверить? (этих директив штук 100 чтобы не каждую директиву проверять, как apache проверяет конфиг? или это нельзя сделать? Это сообщение отредактировал(а) gcc - 24.10.2008, 22:22 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
как часть проверить, он хочет главный конфиг, как проверить перед тем как вставлять в рабочий конфиг... ================================================= посмотрел исходнини одного модуля apache там проверки на валидность нету, точнее проверка идет по всему коду... я так понял что нельзя... лучше perl'ом Это сообщение отредактировал(а) gcc - 25.10.2008, 08:15 |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Сделать копию главного конфига, добавить туда включение нового конфига и проверять при помощи httpd. Проверка модулями не даст 100% гарантии, что в apache все заработает. -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
вот опубликовали http://www.opennet.ru/tips/info/1842.shtml
только я до окнца не дописывал, вообще в apache директив штук 2000 всего наверное нужна еще кому-то, кроме меня, такая большая программа? (а то писать это не хочется сильно) Это сообщение отредактировал(а) gcc - 20.11.2008, 00:10 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |