Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie modułu Apache - jak pobrać zmienną z konfiguracją z innego modułu?
Forum PHP.pl > Forum > Serwery WWW > Apache
kpietru
Chcę stworzyć prosty moduł do Apacha. W skrypcie modułu
ma być sprawdzana konfiguracja serwera (kilka parametrów).
Jeśli jakiś parametr jest niewłaściwy wyświetli się strona błędu np. 500.

Przykładowy kod modułu zawiera zmienną "some_var_config_from_apache_or_htaacess".
W tym przykładzie powiedzmy że jest to konfiguracja "DirectoryIndex" która będzie się nam wyświetlać.
Jak pobrać tą zmienną aby zawierała konfigurację?
Kod
/* Source: http://people.apache.org/~humbedooh/mods/examples/mod_example_1.c */
#include "httpd.h"
#include "http_core.h"
#include "http_protocol.h"
#include "http_request.h"

static void register_hooks(apr_pool_t *pool);
static int example_handler(request_rec *r);

/* Define our module as an entity and assign a function for registering hooks  */
module AP_MODULE_DECLARE_DATA   example_module =
{
    STANDARD20_MODULE_STUFF,
    NULL,            // Per-directory configuration handler
    NULL,            // Merge handler for per-directory configurations
    NULL,            // Per-server configuration handler
    NULL,            // Merge handler for per-server configurations
    NULL,            // Any directives we may have for httpd
    register_hooks   // Our hook registering function
};

static void register_hooks(apr_pool_t *pool)
{
    ap_hook_handler(example_handler, NULL, NULL, APR_HOOK_LAST);
}

static int example_handler(request_rec *r)
{
    if (!r->handler || strcmp(r->handler, "example-handler")) return (DECLINED);

   // The first thing we will do is write a simple "Hello, world!" back to the client.
   //ap_rputs("Hello, world!", r);
   ap_rputs(some_var_config_from_apache_or_htaacess, r);

   return OK;
}
darko
Nie znam się jakoś szczególnie na pisaniu modułów do Apachea, ale czy chodzi Ci o mod_env ?
kpietru
Wyczytałem że mod_env pozwala na sprawdzenie nagłówków HTTP,
ale nie można sprawdzić konfiguracji zawartej w Apache np. htaacess.
Ale zajrzę do źródeł tego modułu - może jakieś rozwiązanie tam jest.

Gdzieś też czytałem, że do zmiennych zadeklarowanych w konfiguracji
Apacha np. SetEnv SOME
można się odwołać wewnątrz skryptu naszego modułu.
Ale to i tak nie rozwiązuje problemu. Potrzebuję odwołać się
do konkretnych wartości z konfiguracji.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.