2010-02-15 15 views
8

W przypadku aplikacji opartych na Zend Framework używam apache SetEnv w .htaccess. Używam tego na testowych, testowych i produkcyjnych serwerach takich jak:Apache SetEnv poprzedza REDIRECT_. Co daje?

SetEnv APPLICATION_ENVIRONMENT production 

Na serwerze pomostowym nie mogłem odczytać tego env var w PHP. Jednak kiedy zrobiłem var_dump($_ENV) w php mam wartość ale klucz był poprzedzany z REDIRECT_ staje

REDIRECT_APPLICATION_ENVIRONMENT 

Czy ktoś może wyjaśnić, dlaczego tak się dzieje i jak można temu zapobiec?

Odpowiedz

7

Zgaduję, że masz reguły mod_rewrite w swoim pliku .htaccess oraz Zend? Wydaje mi się, że może to być mod_rewrite, poprzedzające przekierowanie, aby wartość nie została zmieniona przez nowe ustawienia z nowym adresem URL.

+0

Zgadłeś, że to prawda. Być może masz rację co do mod_rewrite, ale nie wierzę, że inne serwery również to pokazują i mają dokładnie taką samą konfigurację mod_rewrite. Muszę to sprawdzić. Dzięki, do tej pory. –

+0

@fireeyedboy Zaskoczyło mnie to, że bardzo mało o tym problemie widzę w komentarzach innych użytkowników niż w postach na forum i nie mam żadnych wiarygodnych informacji o źródłach. Widziałem jeden lub dwa posty o tym, że jest to specyficzna dla Apache wersja, czy Apache twojej maszyny terenowej jest inną wersją niż twój programista i produkcja? Czy twój programista i produkcja są takie same i nie robi tego na żadnym z nich? – nortron

+0

@fireeyedboy możesz rozwinąć - czy zrobiłeś coś, aby rozwiązać ten problem? –

2

Miałem ten sam problem i to z powodu uruchamiania PHP jako cgi w moim Apache.

Po włączeniu mod_php mogłem uzyskać dostęp do mojej zmiennej bez tego prefiksu.