只是为了澄清主要问题:
在我的开发机器上,PHP5.3.1 作为模块安装在 Apache 上,我在应用程序的根 .htaccess 文件中使用 SetEnv APPLICATION_ENVIRONMENT 开发。然后可以使用 getenv('APPLICATION_ENVIRONMENT') 从任何 php 脚本轻松检索它。
在生产服务器上,在共享主机(dreamhost)上,我自己编译了 php5.3.1,因为它不被直接支持。一切正常,除了 getenv('APPLICATION_ENVIRONMENT') 返回 false。
在我的域的共享主机根 .htaccess 中,我使用这个 .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 位于 /cgi-bin 并且运行良好。当然,在我的应用程序的根文件夹中,我还有另一个 .htaccess 定义:
SetEnv APPLICATION_ENVIRONMENT production
但是当使用 getenv('APPLICATION_ENVIRONMENT') 时它返回 false,知道如何解决这个问题吗?