Comment utiliser getenv () dans php et SetEnv dans un fichier .htaccess avec un php-cgi compilé sur un hôte partagé

Il suffit de le mettre dans son contexte afin de clarifier la question principale:

Sur ma machine de développement, PHP5.3.1 est installé sur un serveur Apache en tant que module, j'utilise SetEnv APPLICATION_ENVIRONMENT évolution dans ma racine de l'application .fichier htaccess. Il est alors facilement accessible à partir de tout script php avec la fonction getenv('APPLICATION_ENVIRONMENT').

Sur le serveur de production, sur un sharedhost (dreamhost), j'ai compilé moi-même php5.3.1, puisqu'il n'a pas été directement pris en charge. Tout fonctionne bien sauf que la fonction getenv('APPLICATION_ENVIRONMENT') renvoie la valeur false.

Dans le sharedhost racine .htaccess pour mon domaine, je l'utilise .fichier htaccess

Options +ExecCGI
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.cgi

<FilesMatch "^php5?\.(ini|cgi)$">
    Order Deny,Allow
    Deny from All
    Allow from env=REDIRECT_STATUS
</FilesMatch>

Options -indexes

php5.cgi réside dans /cgi-bin et fonctionne très bien.
Bien sûr, dans mon dossier racine de l'application, j'ai un autre .htaccess définition:

SetEnv APPLICATION_ENVIRONMENT production

Mais lors de l'utilisation de la fonction getenv('APPLICATION_ENVIRONMENT"), il renvoie la valeur false, aucune idée de comment résoudre ce problème?

source d'informationauteur Steven Rosato | 2010-01-05