Pagina 1 di 1

apache - impostare variabili di enviroment

Inviato: lun 26 feb 2007, 10:50
da nik600
Ciao

vorrei impostare una variabile di enviroment con lo stesso valore di un'altra.

Ho provato il seguente htaccess ma non va:

codice:

SetEnv PROVANIK %{HTTP_USER_AGENT}



Mi assegna come valore la stringa %{HTTP_USER_AGENT} :-(

Re: apache - impostare variabili di enviroment

Inviato: lun 26 feb 2007, 15:50
da masalapianta
nik600 ha scritto:Ciao

vorrei impostare una variabile di enviroment con lo stesso valore di un'altra.

Ho provato il seguente htaccess ma non va:

codice:

SetEnv PROVANIK %{HTTP_USER_AGENT}



Mi assegna come valore la stringa %{HTTP_USER_AGENT} :-(
verifica che mod_env sia stato caricato correttamente e prova con:
SetEnv PROVANIK $HTTP_USER_AGENT

Inviato: lun 26 feb 2007, 15:54
da nik600

Codice: Seleziona tutto

  [PROVANIK] => $HTTP_USER_AGENT

Codice: Seleziona tutto

Compiled in modules:
  core.c
  mod_authn_file.c
  mod_authn_default.c
  mod_authz_host.c
  mod_authz_groupfile.c
  mod_authz_user.c
  mod_authz_default.c
  mod_auth_basic.c
  mod_include.c
  mod_filter.c
  mod_log_config.c
  mod_env.c
  mod_setenvif.c
  mod_proxy.c
  mod_proxy_connect.c
  mod_proxy_ftp.c
  mod_proxy_http.c
  mod_proxy_ajp.c
  mod_proxy_balancer.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_so.c


Inviato: lun 26 feb 2007, 16:06
da masalapianta
sicuro che la direttiva SetEnv non sia messa in un vhost/directory/location diverso da quello in cui sta il cgi che vuoi veda quella variabile?

Inviato: lun 26 feb 2007, 16:09
da nik600
la direttiva è messa in un .htaccess che sta nella stessa directory del file php che dovrebbe leggerla

ma a sto punto mi viene un dubbio, se php viene eseguito come modulo di apache e non come CGI, può leggere comunque queste variabili?

Inviato: lun 26 feb 2007, 16:15
da masalapianta
nik600 ha scritto:la direttiva è messa in un .htaccess che sta nella stessa directory del file php che dovrebbe leggerla

ma a sto punto mi viene un dubbio, se php viene eseguito come modulo di apache e non come CGI, può leggere comunque queste variabili?
l'htaccess e' leggibile dall'utenza con cui gira apache?
btw se da php usi getenv() dovresti riuscire a pigliarti le variabili a prescindere che php giri come cgi o come dso di apache, l'unica limitazione di getenv e' che non funziona in modalita' isapi ma non e' cosa che ti riguardi se non usi iis

Inviato: lun 26 feb 2007, 16:29
da nik600
ciao l'htaccess è eseguito e interpretato correttamente, ho giò provato le seguenti direttive

Codice: Seleziona tutto

echo "<pre>";
print_r($_SERVER);
echo "</pre>";
echo "<pre>";
print_r($_ENV);
echo "</pre>";

echo apache_getenv("SSL_PROTOCOL",true);
echo apache_getenv("SSL_PROTOCOL",false);
echo apache_getenv("SSL_PROTOCOL");
echo getenv("SSL_PROTOCOL");

Inviato: lun 26 feb 2007, 16:31
da masalapianta
e allora bhooo

Inviato: lun 26 feb 2007, 16:34
da nik600
è esattamente la stessa conclusione a cui sono giunto io!
ha ha h a!

Inviato: mer 28 feb 2007, 0:47
da bloodlust
attenzione che se usi i file .htaccess devi metterne uno in tutte le directory padre per questione di parsing.

controlla anche che in httpd.conf AccessFileName sia impostato a .htaccess e che tu abbia usato correttamente la direttiva AllowOverride sia in httpd.conf che nei file .htaccess nelle directory padre.

ciao

Inviato: mer 28 feb 2007, 9:21
da nik600
l'htaccess funziona, ho già verificato

Credo che quel tipo di variabili non siano accessibili da php, tutto qui