sólo poner en contexto para aclarar la cuestión principal:Cómo utilizar getenv() en php y SetEnv en un .htaccess con un php-cgi compilado en un servidor compartido
En mi máquina de desarrollo, es PHP5.3.1 instalado en Apache como módulo, uso el desarrollo de SetEnv APPLICATION_ENVIRONMENT en el archivo root .htaccess de mi aplicación. A continuación, es fácilmente recuperable de cualquier script php con getenv ('APPLICATION_ENVIRONMENT').
En el servidor de producción, en un host compartido (dreamhost), me compilé php5.3.1 ya que no era compatible directamente. Todo funciona bien, excepto que getenv ('APPLICATION_ENVIRONMENT') devuelve falso.
En el .htaccess de la raíz sharedhost para mi dominio, utilizo este archivo .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 reside en/cgi-bin y funciona muy bien. Por supuesto, en la carpeta raíz de mi aplicación tengo otra definición .htaccess:
SetEnv APPLICATION_ENVIRONMENT production
Pero cuando se utiliza getenv ('APPLICATION_ENVIRONMENT') devuelve falso, alguna idea de cómo resolver esto?
Simplemente adivinando: ¿Quizás su host no permita que esta directiva se anule en archivos .htaccess? –