2009-07-23 53 views

回答

10

最簡單的方法是設置一個OS環境變量(在系統級別,或者ColdFusion運行的用戶),然後重新啓動服務。然後該變量在CGI範圍內可用:

<cfset EnvName = CGI.COLDFUSION_ENVIRONMENT> 
<cfoutput>#EnvName#</cfoutput> 

您也可以使用Java系統屬性。在你的ColdFusion管理員,進入「服務器設置/ Java和JVM」,並添加像這樣的「JVM參數」:

-Dcom.mycompany.environment=development

然後,您可以要求在ColdFusion的那個值:

<cfset System = CreateObject("java", "java.lang.System")> 
<cfset EnvName = System.getProperty("com.mycompany.environment")> 
<cfoutput>#EnvName#</cfoutput> 

每次進行更改時都必須重新啓動CF服務,但該值似乎非常穩定,所以這應該不成問題。

3

使用apache可以。在Apache配置(httpd.conf文件),或者你的虛擬主機,如果你有包膜模塊加載,你可以這樣做:

SetEnv APP_ENVIRONMENT DEVELOPMENT 
從ColdFusion的

然後:

#cgi['APP_ENVIRONMENT']# 

如果轉儲CGI範圍值將不會顯示,但是,如果您輸出它,它將在那裏。

+0

感謝您的提示。我不運行apache並且似乎無法找到iis中的設置來執行此類操作:/ – noobsaibot 2009-07-23 07:59:17

+0

此文章(來自快速谷歌搜索)http://forums.iis.net/p/ 1146779/1858505.aspx表明它可能在iis7 – Ian 2009-07-23 09:33:51

+0

+1中提示它在轉儲CGI範圍時未顯示! – Seybsen 2012-03-04 15:13:24

0

我的閱讀問題首先想到的是設置服務器變量:

但問題是,在哪裏設置?

在CF9中會有一個onServerStart()方法用於這類事情。

相關問題