2014-12-02 66 views
1

我剛剛在我們的應用程序中使用application.cfc文件,其中一些似乎沒有工作,我無法弄清楚原因。我曾嘗試cfdump「應用程序」。我得到Application.DSN,Application.USERNAME,Application.Password,但不Application.SYSTEMPATH或Application.ACCOUNT如何在application.cfc中創建應用程序變量

<cffunction name="onApplicationStart"> 
    <cfscript> 
    Application.availableResources=0; 
    Application.DSN = "XXX"; 
    Application.USERNAME = "XXX" ; 
    Application.PASSWORD = "XXX"; 
    Application.SYSTEMPATH = "http://example.com/"; // This doesn't work 
    Application.ACCOUNT = XXX; // This doesn't work. 
    Application.counter1=1; 
    Application.sessions=0; 
    </cfscript> 
</cffunction> 
+2

術語「不起作用」非常含糊。這是什麼意思? – 2014-12-02 17:05:42

+4

另外,如果添加了其他應用程序變量,*創建該方法後,需要在定義新變量之前重新啓動「應用程序」。 – Leigh 2014-12-02 17:11:00

+0

如何重新啓動onApplicationStart?我必須重新啓動服務器嗎? – 2014-12-02 17:55:24

回答

0

我想你想要這樣的:

Application.SYSTEMPATH = GetDirectoryFromPath(GetCurrentTemplatePath());

這將工作太:

Application.SYSTEMPATH = expandPath('./');

現在這個...

Application.ACCOUNT = XXX; //這不起作用。 (因爲它假設XXX是一個變量)。

你需要這樣的:

XXX = 'something';XXX = 1;或者是因爲它沒有用處完全刪除。

然後當你調用:

Application.ACCOUNT = XXX;它不會給你的錯誤。

或者你可以跳過它,這樣做:

Application.ACCOUNT = 'something';(串) Application.ACCOUNT = 1;(數字)

然後,它會不會散架(因爲XXX是一個變量不是一個值,你不能調用一個不存在的變量)。如果你有一個「變量」,它必須有一個「值」(變量/值對),或者至少設置一個佔位符,如XXX=0;XXX='';,如果你必須擁有它。

我殺死了這個變量/值死馬死嗎?大聲笑...:D

笑話旁邊讓我們知道如果你有關於你的應用程序變量的另一個問題,因爲有些看起來沒有必要(雖然不能判斷)。

+0

我把XXX標示爲一個整數。對不起,關於混淆 – 2014-12-02 17:56:07

+0

啊......沒問題。 :) – 2014-12-02 17:56:38

相關問題