<-
Apache > Serveur HTTP > Documentation > Version 2.5 > Modules

Module Apache mod_example_hooks

Langues Disponibles:  en  |  fr  |  ko 

Description:Illustration de l'API des modules Apache
Statut:Expérimental
Identificateur de Module:example_hooks_module
Fichier Source:mod_example_hooks.c

Sommaire

Certains fichiers situés dans le répertoire modules/examples de l'arborescence de la distribution d'Apache sont fournis à titre d'exemples pour ceux qui souhaitent écrire des modules qui utilisent l'API d'Apache.

Le fichier principal est mod_example_hooks.c, qui constitue une illustration exhaustive des différents mécanismes et syntaxes d'appels. En aucun cas un module additionnel n'aura à inclure des routines pour tous les appels - il n'en nécessitera au contraire qu'un petit nombre !

Le module example_hooks fonctionne réellement. Si vous le chargez dans votre serveur, activez le gestionnaire "example-hooks-handler" dans une section location, et essayez d'accéder à la zone du site web correspondante, vous verrez s'afficher certaines sorties que le module example_hooks produit au cours des différents appels.

Sujets

Directives

top

Compilation du module example_hooks

Pour inclure le module example_hooks dans votre serveur, effectuez les étapes suivantes :

  1. Exécutez configure avec l'option --enable-example-hooks.
  2. Compilez le serveur (exécutez la commande "make").

Pour ajouter votre propre module :

  1. cp modules/examples/mod_example_hooks.c modules/nouveau_module/mod_monexemple.c
  2. Modifiez le fichier.
  3. Créez modules/nouveau_module/config.m4.
    1. Ajoutez APACHE_MODPATH_INIT(nouveau_module).
    2. Copiez la ligne APACHE_MODULE contenant "example_hooks" depuis modules/examples/config.m4.
    3. Remplacez le premier argument "example-hooks" par monexemple.
    4. Remplacez le second argument par une brève description de votre module. Cette description sera utilisée par la commande configure --help.
    5. Si la compilation de votre module nécessite des drapeaux de compilation C, des drapeaux d'édition de liens, ou de bibliothèques supplémentaires, ajoutez les respectivement à CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers config.m4 des répertoires des autres modules pour plus d'exemples.
    6. Ajoutez APACHE_MODPATH_FINISH.
  4. Créez le fichier module/nouveau_module/Makefile.in. Si la compilation de votre module ne nécessite pas d'instructions particulières, ce fichier ne doit contenir que la ligne include $(top_srcdir)/build/special.mk.
  5. Exécutez ./buildconf à la racine du répertoire.
  6. Compilez le serveur après avoir exécuté la commande configure avec l'option --enable-monexemple.
top

Utilisation du module mod_example_hooks

Pour activer le module example_hooks, ajoutez à votre fichier httpd.conf un bloc du style :

<Location "/example-hooks-info">
   SetHandler example-hooks-handler
</Location>

Vous pouvez aussi ajouter ce qui suit dans un fichier .htaccess, puis accéder au fichier "test.example" à partir du répertoire correspondant :

AddHandler example-hooks-handler .example

Après avoir rechargé la configuration ou redémarré votre serveur, vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui a été décrit plus haut.

top

Directive Example

Description:Directive de démonstration pour illustrer l'API des modules Apache
Syntaxe:Example
Contexte:configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut:Expérimental
Module:mod_example_hooks

La directive Example n'a pour fonction que de définir un drapeau de démonstration que le gestionnaire de contenu du module example_hooks va afficher. Elle ne possède aucun argument. Si vous naviguez vers une URL à laquelle le gestionnaire de contenu example_hooks s'applique, vous verrez s'afficher les routines du module, ainsi que l'ordre dans lequel elles ont été appelées pour servir le document demandé. On peut observer l'effet de cette directive dans la phrase "Example directive declared here: YES/NO".

Langues Disponibles:  en  |  fr  |  ko 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.