2012-03-07 59 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

相关问题