2010-05-12 66 views
3

我剛剛開始使用CakePHP shell並遇到問題。 我的蛋糕核心庫是在路徑d:/庫/蛋糕 我的應用程序是在d設置:/服務器/ htdocs中/ MYAPPCakePHP Shell問題

我寫了下d測試外殼:/服務器/ htdocs中/ MYAPP /供應商/殼


class ReportShell extends Shell { 
var $uses = array('Appt'); 
function main() { 
    echo $this->Appt->find('first'); 


} 
} 

當我嘗試從d這段代碼:/服務器/ htdocs中/ MyApp的,它給了我一個錯誤


警告:include_once(d:/servers/htdocs/myapp/config/database.php):無法打開流:在d:/ libs/cake \ libs \ mode中沒有這樣的文件或目錄 l \ connection_manager.php on第23行

警告:include_once():打開'd:/servers/htdocs/myapp/config/database.php'失敗以包含(include_path ='.; D:\ work \ xampp \ php \ PEAR')。在線23上的d:/ libs/cake \ libs \ model \ connection_manager.php

致命錯誤:ConnectionManager :: getDataSource - d:/ libs/cake \ libs \ model \ connection_manager中不存在的數據源默認值。在線102上的php


原因是它試圖在'd:/ servers/htdocs/myapp/config /'下找到database.php,正確的路徑是'd:/servers/htdocs/myapp/app/config/database.php'

我在這裏做錯了什麼?

感謝

回答

2

試圖從/app目錄中或指定的-app參數運行它:

cake -app d:/servers/htdocs/myapp/app report 
+1

我沒有,但得到這個錯誤: 錯誤:類ReportShell無法加載 – aboxy 2010-05-12 02:19:45

3

My app is setup under d:/servers/htdocs/myapp

沒有,應用程序目錄(持有config文件夾)是D:\servers\htdocs\myapp\app\

Reason is that it is trying to find database.php under 'd:/servers/htdocs/myapp/config/' and the correct path is 'd:/servers/htdocs/myapp/app/config/database.php'

您位於錯誤的目錄中,因此無法找到您的數據庫配置。

I wrote a test shell under d:/servers/htdocs/myapp/vendor/shells

移動你掏出的全球供應商在D:\servers\htdocs\myapp\vendors\shells應用程序的廠商文件夾置於D:\servers\htdocs\myapp\app\vendors\shells文件夾而不是,然後再試一次。 (注意:當你有一個安裝程序,其中的蛋糕和應用程序目錄是相互拆分的時候,我並不確定全局供應商文件夾應該在哪裏,但是當運行命令時肯定必須位於應用程序目錄中而不是您正在使用的myapp目錄。)


如果添加D:\libs\cake\console\PATH environment variable(記住事後關閉所有cmd.exe過程),那麼你可以簡單的能夠執行以下操作:

D:\servers\htdocs\myapp\app> cake report(從應用程序目錄內)

否則,您將需要鍵入Cake控制檯可執行文件的完整相對路徑或絕對路徑和/或向CakePHP提供應用程序目錄的絕對路徑(如果您不在其中):

D:\servers\htdocs\myapp\app> ..\..\..\..\libs\cake\console\cake report

D:\servers\htdocs\myapp\app> \libs\cake\console\cake report

D:\libs\cake\console> cake -app D:\servers\htdocs\myapp\app report

D:\> libs\cake\console\cake -app D:\servers\htdocs\myapp\app report

等等

希望你能明白爲什麼只是添加正確的文件夾到您PATH,使事情更容易。 :)

+0

謝謝。這是問題 我的shell腳本位於/ myapp/vendor/shells下,這是錯誤的。它應該在/ myapp/app/vendor/shells下。我移動文件後,它的工作。謝謝。 – aboxy 2010-05-12 16:33:26

1

謝謝。這是問題 我的shell腳本位於/ myapp/vendor/shells下,這是錯誤的。它應該在/ myapp/app/vendor/shells下。我移動文件後,它的工作。謝謝

1
  • 你應該總是在你的APP路徑中執行蛋糕控制檯。

  • 你的shell文件應在..app /控制檯/命令/

  • 如果你的文件名TestShell.php type命令應用>蛋糕測試