2009-07-03 50 views
2

我正在使用CakePHP控制檯從我們下載文件並在數據庫中進行處理。我從「app」目錄中運行控制檯。但是,當我試圖在應用程序之外運行控制檯並通過爲我的cron作業設置「-app」參數時,它不起作用。CakePHP控制檯通過Cron問題

說實話,我用-app參數沒有成功。這就像它根本不工作。

順便說一下,我正在使用Windows & Pycron作爲我的cron作業。

這裏的時候,我試圖從d運行控制檯會發生什麼:\

D:\>web\elink\cake\console\cake -app D:\web\elink\app 


Welcome to CakePHP v1.2.2.8120 Console 
--------------------------------------------------------------- 
Current Paths: 
-app: app 
-working: D: -app D:/web/elink/app 
-root: D: -app D:/web/elink 
-core: D:\web\elink 

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: 

D:\web\elink\vendors\shells: 
     - none 

CORE\console\libs: 
     acl 
     api 
     bake 
     console 
     i18n 
     schema 
     testsuite 

To run a command, type 'cake shell_name [args]' 
To get help on a specific command, type 'cake shell_name help' 

我彈位於d:\網絡\ ELINK \程序\供應商\炮彈。

+0

我似乎無法得到-app參數在Ubuntu上工作。我將通過hector嘗試下面列出的解決方法。 – the0ther 2010-07-16 20:40:22

回答

1

我已經設法在Windows上使用版本1.2.2.81201.2.3.8166重現此問題。按照預期,-app參數似乎不起作用。

控制檯將只列出/vendors/shells文件夾中的全局外殼,而不是位於/app/vendors/shells或插件(/app/plugins/plugin_name/vendors/shells)中的應用程序特定的外殼。

-app參數按照預期在OpenSUSE上運行,列出了所有可用的特定於應用程序的shell(包括插件中的那些shell)。

除非我們做的不正確,否則在這個問題上可能值得在Trac上打開一張票。

解決方法是將您的CakeBar console目錄添加到Windows環境變量PATH

  1. 打開 '系統屬性'(Start鍵+ Pause/Break鍵)
  2. 打開 '高級' 選項卡
  3. 點擊 '環境變量'
  4. 在 '系統變量' 部分中選擇PATH變量
  5. 按'編輯'
  6. ;E:\web\elink\cake\console\附加到'變量值'
  7. 在所有對話框上按'OK'
  8. 關閉所有打開的cmd提示

然後,您可以設置pycron到沒有-app參數運行E:\web\elink\cake和所有應用程序特定的炮彈應該可用。

+0

我已經這樣做了,但是當我輸入蛋糕時,特定於應用程序的shell仍然不顯示。但是,這次-app參數按預期工作。 謝謝deizel。 – codegy 2009-07-04 01:11:33