Модуль Apache mod_example_hooks
| Описание: | Демонстрирует API модуля Apache |
|---|---|
| Статус: | Экспериментальный |
| Идентификатор модуля: | example_hooks_module |
| Файл исходного кода: | mod_example_hooks.c |
Краткое описание
Файлы в каталоге modules/examples в дереве каталогов дистрибутива Apache предоставляются в качестве примера для тех, кто хочет создать модули, использующие API Apache.
Основной файл — mod_example_hooks.c, который иллюстрирует все различные механизмы обратного вызова и синтаксис вызовов. Модуль дополнения вовсе не обязательно должен включать процедуры для всех обратных вызовов — совершенно наоборот!
Пример модуля — это работающий модуль. Если вы подключите его к своему серверу, активируете обработчик "example-hooks-handler" для расположения и затем перейдете по этому расположению, вы увидите отображение некоторых данных, которые отслеживал пример модуля во время различных обратных вызовов.
Компиляция модуля example_hooks
Чтобы включить модуль example_hooks в свой сервер, выполните следующие действия:
- Запустите
configureс опцией--enable-example-hooks. - Сделайте сервер (запустите "
make").
Чтобы добавить собственный модуль:
cp modules/examples/mod_example_hooks.c modules/new_module/mod_myexample.c- Измените файл.
- Создайте
modules/new_module/config.m4.- Добавьте
APACHE_MODPATH_INIT(new_module). - Скопируйте строку APACHE_MODULE с "example_hooks" из
modules/examples/config.m4. - Замените первый аргумент "example_hooks" на myexample.
- Замените второй аргумент кратким описанием вашего модуля. Он будет использоваться в
configure --help. - Если вашему модулю требуются дополнительные флаги компилятора C, флаги компоновщика или библиотеки, добавьте их в CFLAGS, LDFLAGS и LIBS соответственно. Смотрите другие файлы
config.m4в каталоге модулей для примеров. - Добавьте
APACHE_MODPATH_FINISH.
- Добавьте
- Создайте
module/new_module/Makefile.in. Если вашему модулю не нужны специальные инструкции по сборке, в этом файле должно быть толькоinclude $(top_srcdir)/build/special.mk. - Запустите ./buildconf из корневого каталога.
- Соберите сервер с опцией --enable-myexample
Использование модуля mod_example_hooks
Для активации модуля example_hooks добавьте блок, аналогичный следующему, в свой файл httpd.conf:
<Location "/example-hooks-info"> SetHandler example-hooks-handler </Location>
В качестве альтернативы вы можете поместить следующее в файл .htaccess, а затем запросить файл "test.example" из этого расположения:
AddHandler example-hooks-handler ".example"
После перезагрузки/перезапуска сервера вы должны иметь возможность перейти по этому расположению и увидеть ранее упомянутое краткое отображение.
Пример директивы
| Описание: | Демонстрационная директива для иллюстрации API модуля Apache |
|---|---|
| Синтаксис: | Example |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Статус: | Экспериментальный |
| Модуль: | mod_example_hooks |
Директива Example просто устанавливает демонстрационный флаг, который отображает обработчик содержимого модуля примера. Она не принимает аргументов. Если вы перейдете по URL, для которого применим обработчик содержимого example-hooks, вы получите отображение процедур в модуле и того, как и в каком порядке они были вызваны для обработки запроса к документу. Эффект этой директивы можно наблюдать в пункте "Example directive declared here: YES/NO".
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_example_hooks.html