2012-03-07 104 views
3

我在遠程主機上部署了我的應用程序,並且所有事情都按預期工作。但是,當我嘗試測試本地主機上我的代碼,它給了我下面的錯誤,沒有任何變化在主機上使用的代碼:CakePHP 2.1不能在localhost上工作

Fatal error: Class 'AppHelper' not found in [path]

我使用CakePHP 2.1和MySQL作爲我的默認數據源。

我連接到我的本地數據庫,就像到遠程一個(與身份驗證更改):

public $default = array(
    'datasource' => 'Database/Mysql', 
    'persistent' => false, 
    'host' => 'localhost', 
    'login' => 'root', 
    'password' => '', 
    'database' => 'database', 
    'prefix' => '', 
    'encoding' => 'utf8', 
); 

爲什麼沒有這方面的工作在我的本地?謝謝

+0

你可能有一個幫助器,它不在$ Controller中的$ helpers數組中嗎?或者幫助者的路線錯誤 – Crsr 2012-03-07 07:46:21

+0

我的傭工數組看起來像'public $ helpers = array('Html','Form','Session','Js','Text','Time');'。無論如何,事情是在我的遠程主機上,相同的代碼工作正常。 – linkyndy 2012-03-07 08:07:00

+0

然後驗證你的路由... remote!= localhost ...這是另一個環境:)無論如何..有一個類是在AppHelper擴展? (在助手中驗證)如果有,請在助手中進行更改。 Teoreticaly,這個錯誤是由兩個問題引起的,在助手文件夾中有錯誤的路線或失蹤的幫手 – Crsr 2012-03-07 08:17:24

回答

5

兩種可能的事情: 要麼你不知道關於2.1 AppHelper要求: http://book.cakephp.org/2.0/en/appendices/2-1-migration-guide.html

,或者你忘了你的類的最高層宣佈助手:

App::uses('AppHelper', 'View/Helper'); 

儘管如果你沒有運行任何單元測試,第二個是不太可能的。 所以我打賭是第一個。

+0

沒錯,我已經想通了,發佈在問題的評論:)謝謝! – linkyndy 2012-03-07 16:29:29

+0

啊,好的。但是你也應該將用法語句添加到你的幫助文件中。否則,它將打破測試用例。 – mark 2012-03-07 16:55:05

+1

我沒有任何自定義幫助程序文件。這是我在AppHelper.php中添加的內容:App :: uses('Helper','View'); class AppHelper extends Helper {}' – linkyndy 2012-03-07 16:58:41

相關問題