在上下文中阐明的主要问题只是把在用getenv()在PHP和SETENV中的.htaccess与编译PHP,CGI:如何在共享主机
在我的机器,PHP5.3.1是作为模块安装在Apache上,我在我的应用程序的根.htaccess文件中使用SetEnv APPLICATION_ENVIRONMENT开发。然后可以通过getenv('APPLICATION_ENVIRONMENT')从任何php脚本中轻松检索。
在生产服务器上,在共享主机(dreamhost)上,我编译自己php5.3.1,因为它不直接受支持。一切正常,但getenv('APPLICATION_ENVIRONMENT')返回false。
在sharedhost根的.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,任何想法如何解决这个问题?
只是猜测:也许你的主机不允许这个指令在.htaccess文件中被覆盖? – 2010-01-05 18:20:46