生产服务器上找不到cakephp控制器错误

时间:2013-08-31 11:55:52

标签: php cakephp path controller

我在文件夹FC下有一个cakephp项目,所以在ubuntu上,它的路径是/var/www/FC/app/... 上传到ec2并进行所有配置更改后,基本路径,即。 index.php正确打开,但index.php上的任何其他链接都给出错误:

  

错误:找不到FCController。

     

错误:在文件中创建下面的FCController类:app / Controller / FCController.php

class FCController extends AppController {

}

创建此文件后,它会要求将方法位置放入类FCcontroller中,并且在类中放置一个空方法时,显示会像空页一样变为蓝色。 由于我没有编写这段代码,所以我不知道应该在哪里写的数据......我该怎么做?

2 个答案:

答案 0 :(得分:1)

您需要在app\webroot\index.php中更改这三行:

// The full path to the directory which holds "app", WITHOUT a trailing DS.
define('ROOT', '/var/www/FC');

// The actual directory name for the "app".
define('APP_DIR', 'app');

// The absolute path to the "cake" directory, WITHOUT a trailing DS.
define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'lib');

指向各自的位置。

(默认情况下,三个中的最后一个被注释,因此您需要取消注释。

答案 1 :(得分:1)

我解决了这个问题。这是因为在我的代码中,前一个用户创建了一个控制器文件Locationscontroller.php,并指定了这样的URL:

<form id ="0" action="/FC/locations/confirm_final">

这是我的本地机器中的localhost,其中基本文件夹是htdocs我必须键入localhost / FC /来访问index.php。 很自然因为在EC2上我把FC本身作为我的基本文件夹,它试图访问其中不存在的另一个FC。 / XXX / locations /表示它搜索“XXX”控制器,然后搜索其中的位置。由于我的控制器是Locations,它一直出错。

我一改成它:

<form id ="0" action="/locations/confirm_final">

它指向正确的控制器,它是位置。 这都是因为我没有检查哪个控制器被哪个View调用! 我是个白痴,这就是全部:D