Модуль 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в каталоге modules. - Добавьте
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"
После перезагрузки или перезапуска сервера вы сможете перейти к этому расположению и увидеть упомянутое ранее краткое отображение.
Директива 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