Pourquoi mon $_ENV vide?

Je suis en cours d'exécution Apache/2.2.11 (Win32) PHP/5.3.0 et je n'ai la suite dans ma .htaccess:

SetEnv FOO bar

Si j'ai imprimer le $_ENV variable dans un fichier PHP, j'obtiens un tableau vide. Pourquoi ne pas ma variable d'environnement apparaissent là? Pourquoi est-il vide en premier lieu?

Je n'ai trouver ma variable, mais il apparaît dans la $_SERVER variable. Et pour une raison quelconque, il apparaît deux fois, en quelque sorte. Pourquoi est-ce?

[REDIRECT_FOO] => bar
[FOO] => bar

Il semble que je peux obtenir de l'aide getenv('FOO'), alors peut-être que je devrais juste l'utiliser à la place. Mais je suis toujours un peu curieux de ce qui cause cette. Est-ce un Windows question? Ou ce qui se passe?

  • Pas un Windows question, c'est la même chose sous Linux (l'exécution de PHP en tant que module). Je ne suis pas sûr de connaître les détails, mais il peut être le enivronment du serveur web n'est pas la même que celle de PHP, et c'est pourquoi il est envoyé comme un $_SERVER var. Je donnerais mon vote pour l'utilisation de getenv() qui fouille les deux à la casse autant que j'imagine.
  • Sur une note de côté: la CLI instance ne l'obtenez dans $_ENV.
  • Votre mise à jour m'a aidé. Si vous l'avez modifiée pour la réponse, je serais heureux de upvote il.
  • Votre solution affiché dans la question qui devrait vraiment être affiché comme une réponse ci-dessous. Cette question a été liée à plusieurs reprises comme un double de la proximité de la cible, mais la solution n'est pas dans la question 🙂
  • Merci pour la note. Bonne idée. De le faire maintenant 🙂
InformationsquelleAutor Svish | 2010-09-23