2013-08-31 108 views
1

我在FC文件夹下有一个cakephp项目,在Ubuntu上,它的路径是/var/www/FC/app/... 上传到ec2并进行所有配置更改时,基本路径即。 index.php文件被正确打开,但是,index.php的任何其他链接给了一个错误:在生产服务器上找不到cakephp控制器错误

Error: FCController could not be found.

Error: Create the class FCController below in file: app/Controller/FCController.php

class FCController extends AppController { 

} 

在创建这个文件,它要求把方法的位置到类FCcontroller,并把空方法在类中显示蓝色像一个空白页面。 由于我没有写这段代码,我不知道应该在哪里写入数据......我该怎么办?

+0

可以请你用你写的方法更新控制器代码....和蓝屏查看视图文件夹,你会看到layout.ctp文件.. .that是主要模板文件的文件。 –

+0

FC控制器中没有任何方法,实际上我的代码中没有FC控制器。我只是做了一个空方法,因为错误显示我要检查会发生什么......我认为控制器的默认路径设置不正确,如何更改控制器的路径,它在配置中的位置? – Anugrah

+0

你可以在配置文件夹中看到它......并在该文件夹内你会看到'route.php'文件... –

回答

1

我排序的问题了,这是因为在我的代码,以前的用户做了一个控制器文件Locationscontroller .php然后指定的URL是这样的:

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

这对本地主机在我的本地机器的基本文件夹是htdocs中,我不得不键入localhost/FC /访问的index.php 所以很自然因为在EC2上我。已经让FC本身成为我的基础文件夹,它试图访问其中不存在的另一个FC,/ XXX/locations /意味着它搜索“XXX”控制器,然后搜索其中的位置。由于我的控制器是位置,它一直给出一个错误。

只要我把它改成这样:

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

它指向正确的控制器,这是位置。 这都是因为我没有检查哪个控制器被哪个视图调用! 我是一个白痴,这将是所有:D

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'); 

指向它们各自的位置。

(最后的三个默认情况下注释,所以你必须解除它。

+0

嗨戴夫, 感谢您的答复!所以,如果我的蛋糕文件夹的路径是这样的: /var/www/FC/app/webroot 我在前两行写什么? 我试图给路径,但它没有工作,你能否给我特定的命令acc我上面给出的路径?非常感谢! – Anugrah

+0

编辑答案与我认为将您的路径.E – Dave

+0

嗨!我做了改动,但错误仍然存​​在:(可能是3 htaccess文件的问题? 我没有给过重写基础命令等,我的cakephp位于www文件夹中,所以我需要重写基础为FC? PS-base FC文件夹中还有另外一个index.php,我是否需要在那里更改cake_core配置?它现在显示旧的默认值.. PS2-可能是关于allowoverride的一切吗?默认文件有4个允许覆盖,前2个设置为全部,最后2个仍然设置为none ... – Anugrah

相关问题