我是CakePHP的新手并安装了2.1。我收到了这个错误:
缺少控制器
错误:找不到Index.phpController。
错误:在文件中创建下面的Index.phpController类:app \ Controller \ Index.phpController.php
< PHP class Index.phpController扩展AppController {
} 注意:如果要自定义此错误消息,请创建app \ View \ Errors \ missing_controller.ctp
堆栈跟踪
APP \ webroot \ index.php第96行→Dispatcher-> dispatch(CakeRequest,CakeResponse) ROOT \ index.php第40行→require(字符串)
我在http://book.cakephp.org/2.0/en/installation/advanced-installation.html跟随他们的导游并尝试了所说的一切:
我不知道从哪里开始。谢谢你能给我的任何帮助。
答案 0 :(得分:4)
更新:我刚刚重新阅读了您的问题并意识到您正在加载http://localhost/cakephp/index.php。不要那样做。由于你附加了“index.php”,它试图加载一个名为“index.php”的控制器和该控制器的动作“index”。生成“index.php控制器”的映射路径是app \ Controller \ Index.phpController.php。
由于您已启用重写,因此请浏览http://localhost/cakephp而不附加任何文件名。
原始答案:
假设您正在使用Apache,请仔细检查/ app / webroot目录中的.htaccess。它应包括以下内容:
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
根据您的错误,它看起来不像是在index.php文件后正确附加路径。
答案 1 :(得分:1)
如果您使用的是cakephp 2.0或更高版本,请将控制器文件名重命名为类名。
即TaskController.php
class TasksController extends AppController {
--Your code inside class
}
我希望这会对你有所帮助
答案 2 :(得分:0)
最简单的解决方案是尽可能贴近“现场环境”。 这意味着使用vhosts使用“域”并正确根目录到您的webroot目录: http://www.dereuromark.de/2011/05/29/working-with-domains-locally/
这几乎没有任何错误的余地,也有助于解决其他潜在的问题,如“绝对链接的资产文件”等