1

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

错误:找不到 FCController。

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

class FCController extends AppController {

}

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

4

2 回答 2

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

指向它们各自的位置。

(三个中的最后一个是默认注释的,因此您需要取消注释它。

于 2013-08-31T16:08:11.370 回答
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">

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

于 2013-09-04T20:34:34.223 回答