2010-09-20 47 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