Environment-Variablen werden nicht übergeben, aus .htaccess auf PHP

Ich bin versucht, übergeben Sie eine Umgebungsvariable aus .htaccess über PHP. Das funktioniert gut auf meinem lokalen WAMP-server, sondern auf dem server, wo meine Webseite gehostet wird, ist es nicht ohne Grund.

Hier ist meine test-Konfiguration:

.htaccess:

SetEnv TEST_VARIABLE test_value

test.php:

<pre>
getenv('TEST_VARIABLE') = <?php print getenv('TEST_VARIABLE'); ?>

getenv('REDIRECT_TEST_VARIABLE') = <?php print getenv('REDIRECT_TEST_VARIABLE'); ?>
</pre>

Auf meinem lokalen server bekommen test.php richtig gibt:

getenv('TEST_VARIABLE') = test_value
getenv('REDIRECT_TEST_VARIABLE') = 

Aber auf den Produktions-server gibt es:

getenv('TEST_VARIABLE') = 
getenv('REDIRECT_TEST_VARIABLE') = 

Dinge, die ich habe ausgeschlossen:

  1. mod_env ist nicht installiert/aktiviert durch den Gastgeber. Kann nicht sein, denn dann SetEnv würde Sie nicht erkannt werden und ich bekommen würde, eine 500 während der Verarbeitung .htaccess.

  2. AllowOverrides im httpd.conf für dieses Verzeichnis noch nicht enthalten FileInfo. Kann nicht sein, weil dann der Apache würde einen Fehler auslösen "SetEnv hier nicht erlaubt", wenn man auf die SetEnv Richtlinie und die ich bekommen würde, eine 500 wieder.

  3. variables_order in php.ini enthalten nicht 'E'. Dies würde erklären, die $_ENV superglobale leer ist (was es ist), aber nicht, warum getenv() nicht zurück Werte für diese Variablen.

  4. Ganze Umgebung versaut. Kann nicht sein, denn getenv('PATH') und getenv('SERVER_NAME') noch zurück, gültige Werte.

In diesem Punkt bin ich ratlos, was die Konfiguration könnte die Ursache sein.

InformationsquelleAutor nitwit | 2013-06-12
Schreibe einen Kommentar