Spec-Zone.ru › Apache HTTP Server

Модуль 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 в свой сервер, выполните следующие действия:

  1. Запустите configure с опцией --enable-example-hooks.
  2. Сделайте сервер (запустите "make").

Чтобы добавить собственный модуль:

  1. cp modules/examples/mod_example_hooks.c modules/new_module/mod_myexample.c
  2. Измените файл.
  3. Создайте modules/new_module/config.m4.
    1. Добавьте APACHE_MODPATH_INIT(new_module).
    2. Скопируйте строку APACHE_MODULE с "example_hooks" из modules/examples/config.m4.
    3. Замените первый аргумент "example_hooks" на myexample.
    4. Замените второй аргумент кратким описанием вашего модуля. Он будет использоваться в configure --help.
    5. Если вашему модулю требуются дополнительные флаги компилятора C, флаги компоновщика или библиотеки, добавьте их в CFLAGS, LDFLAGS и LIBS соответственно. Смотрите другие файлы config.m4 в каталоге модулей для примеров.
    6. Добавьте APACHE_MODPATH_FINISH.
  4. Создайте module/new_module/Makefile.in. Если вашему модулю не нужны специальные инструкции по сборке, в этом файле должно быть только include $(top_srcdir)/build/special.mk.
  5. Запустите ./buildconf из корневого каталога.
  6. Соберите сервер с опцией --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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API