2011-04-27 72 views
3

我想在CakePHP的工作中得到一個cronjob。但我收到此錯誤:Error: Class TestingShell could not be loaded.CakePHP Shell cronjob:錯誤:無法加載類TestingShell

這裏是我的/app/vendors/shells/testing.php文件:

class TestingShell extends Shell { 
var $uses = array('Test'); 
function main(){ 
    $this->out('Number of tests :'); 
    $this->out($this->Test->find('count')); 
    $this->out('.'); 
    if($this->Test->delete(1)){ 
     $this->out('test deleted'); 
    } 
    else{ 
     $this->out('test not deleted'); 
    } 
} 

}

我打電話像這樣的cronjob:/home/root/public_html/site/cake/console/cake -app /home/root/public_html/site/app testing

我在做什麼錯?非常感謝你!

編輯我必須補充說,在本地,shell工作正常。

回答

2

退房這個bug報告 - 這是我的問題。

http://cakephp.lighthouseapp.com/projects/42648/tickets/1601-cakephp-138-console-ignores-app-parameter

回滾到1.3.7是一蹴而就的事情。

+1

你是金!非常感謝你!現在它工作了!但是,它仍然給我一個錯誤,'TERM環境變量沒有設置',但它完成了它的工作。爲什麼拋出這個錯誤?此外,爲什麼不是1.3.8版本的工作?如何解決?我將來能否更新Cake,或者我會再次面對cronjob無法正常工作的奇怪行爲? – linkyndy 2011-04-28 13:53:49

+0

我相信他們已經將其固定在開發分支中。我希望1.3.9能正常工作。 TERM環境的事情是不相關的。 – Dan 2011-05-08 00:46:10

1

看看這個,你可能還需要增加的shell腳本

http://book.cakephp.org/view/1110/Running-Shells-as-cronjobs

你也有PARAMS南轅北轍,其

1 * * * * cake/path scritp params -app app/path

+0

我不是按照這個教程。我引導此:http://stackoverflow.com/questions/3192070/cron-job-with-cakephp。無論如何,我已經嘗試過這個'/ home/root/public_html/site/cake/console/cake testing -app/home/root/public_html/site/app',但它仍然不起作用...同樣的錯誤。我對所有cronjob/Linux /命令行的東西都是新手,所以我真的不知道出了什麼問題。但是由於它給了我這個錯誤,我相信腳本發現它應該是某個地方的TestingShell類(基於我寫的'testing'命令),但它找不到它。 – linkyndy 2011-04-27 20:54:47

相關問題