2014-01-17 94 views
0

我發現了這個主題的幾個答案,但沒有人幫助我。CakePhp 2.4「錯誤:無法找到Shell類HelloShell。」路徑一團糟?

所以這裏是情況。我一個Ubuntu系統上工作,我都是默認的CakePHP 2.4.4安裝下:

/var/www/myproject/ 
    /gkm-be (this is my app) 
    /lib/Cake 

因此,這裏的所有路徑都默認和一般的gkm_be應用工作順利進行。

在我的.bashrc,我有以下設置:

PATH=$PATH:$HOME/bin 
export PATH="$PATH:/var/www/myproject/lib/Cake/Console/" 

當我打開一個新的外殼,轉到目錄/ var/WWW/myproject的/ GKM-是並鍵入 控制檯/蛋糕 我得到的錯誤 慶典:控制檯/蛋糕:文件或目錄未找到 後 CD /無功/網絡/ myproject的/ GKM-是/控制檯/ 如果我進入蛋糕,然後我得到的核心蛋糕下面的輸出

Welcome to CakePHP v2.4.4 Console 
--------------------------------------------------------------- 
App : Console 
Path: /var/www/myproject/gkm-be/Console/ 
--------------------------------------------------------------- 
Current Paths: 

-app: Console 
-working: /var/www/myproject/gkm-be/Console 
-root: /var/www/myproject/gkm-be 
-core: /var/www/myproject/lib 

Changing Paths: 

Your working path should be the same as your application path. To change your path use the '-app' param. 
Example: -app relative/path/to/myapp or -app /absolute/path/to/myapp 

Available Shells: 

[CORE] acl, api, bake, command_list, console, i18n, schema, server, test, testsuite, upgrade 

注意事項-app和木材加工

且不說當然,我HelloShell下

/var/www/myproject/gkm-be/Console/Command/HelloShell.php 

位於既沒有列出,也可以稱之爲的路徑。

我是否設置了路徑錯誤?任何人都可以發現錯誤?

災難珍妮

PS:從shell代碼:

class HelloShell extends AppShell 
{ 

    public function main() 
    { 
     date_default_timezone_set('Europe/Berlin'); 
     $this->out('Hello world.'); 
    } 

} 
+0

你需要隨時從APP目錄運行相對殼(/ gkm-be) - 而不是控制檯! '/.../gkm-be>Console/cake hello' – mark

回答

2

/var/www/myproject/gkm-be和運行命令

../lib/Cake/Console/cake Hello 
+0

這會產生大量的html輸出。我寧願不把它們包括在這裏。 –

+0

殼牌應該做什麼?你是否得到了html輸出,這意味着shell沒有執行,或者它正在工作,它顯示了shell生成的輸出? – cornelb

+0

這會產生大量的html輸出。我寧願不把它們包括在這裏。 據我所見,它是關於默認時區設置的嘮叨錯誤。爲了避免它,我在shell中首先明確設置了時區。 BUt如果沒有找到shell,則無法找到具有時區設置的行。 之後,我看到有關「錯誤:[CacheException]緩存引擎長度未正確配置」的錯誤。 但是它並沒有調用我的HelloShell.php,我沒有看到典型的shell輸出。 –

相關問題