Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Tworzenie modułu Apache - jak pobrać zmienną z konfiguracją z innego modułu?
kpietru
post 21.01.2016, 15:14:07
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.01.2016

Ostrzeżenie: (0%)
-----


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;
}
Go to the top of the page
+Quote Post
darko
post 21.01.2016, 15:21:12
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Nie znam się jakoś szczególnie na pisaniu modułów do Apachea, ale czy chodzi Ci o mod_env ?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
kpietru
post 21.01.2016, 15:42:42
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.01.2016

Ostrzeżenie: (0%)
-----


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.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 08:16