2010-09-20 48 views
1

我最近下载了cakephp-1.3.4。我在我的网络服务器上设置它。我遵循高级安装设置。我的文件夹结构如下。CakePHP失踪控制器 - 但它存在

/common/ 
    cakephp/ 
    app/ 
    etc... 
/htdoc/ 

/htdoc文件夹是webroot; cakephp驻留在common文件夹中。

我已将index.php中的路径配置为指向此文件夹结构。我已经启动并运行了该应用。我创建了一个布局,应用程序已经捡起了它(以及所有的CSS和图像 - 所有这些工作)。

我在cakephp/app/controllers/中创建了posts_controller.php。现在,当我尝试访问以下页面:http://localhost/posts。我收到一条消息,指出控制器无法找到,我应该创建一个app/controllers/posts_controller.php(它已经存在!)。

另外奇怪的是使用默认pages_controller 作品。我创建了一个about.ctp并将其放入app/views/pages/about.ctp。查看http://localhost/pages/about如预期显示。

SOLUTION:

萨姆帮我解决这个问题(见下文长注释线程)。问题是我为ROOT文件夹设置了相对路径。这搞砸了。解决方法是直接设置一个绝对路径或拨打realpath与您的相对路径将其解析为正确的绝对路径。

回答

3

确保您的控制器类命名正确(应该是PostsController),并从AppController继承(不是绝对必要的,但良好的做法)。

+0

@Sam:我复制粘贴它显示在失踪控制器页面上的代码。所以这个名字是PostsController,并且它继承自AppController – Aishwar 2010-09-20 02:56:35

+0

你用来托管什么?你的文件权限可以吗? – 2010-09-20 03:10:06

+0

@Sam:这是一个共享的托管服务器。我没有修改文件权限,除了CakePHP在初始设置时要求我做的事情(比如将'tmp'文件夹设置为可写等) – Aishwar 2010-09-20 03:15:17