在上下文中闡明的主要問題只是把在用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