Контроллер cakephp не найден на сервере производства

У меня есть проект cakephp в папке FC, так что на ubuntu это путь /var/www/FC/app/... После загрузки в ec2 и внесения всех изменений конфигурации базовый путь, т.е. index.php правильно открывается, но любая другая ссылка на index.php дает ошибку:

Ошибка: FCController не найден.

Ошибка: создайте класс FCController ниже в файле: app / Controller / FCController.php

 class FCController extends AppController { } 

После создания этого файла он запрашивает расположение меток в классе FCcontroller, а при помещении пустого метода в класс дисплей становится синим, как пустая страница. Поскольку я не написал этот код, я не знаю, где должны быть записаны данные, которые должны быть здесь … что мне делать?

Related of "Контроллер cakephp не найден на сервере производства"

Вам нужно изменить эти три строки в вашем 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'); 

чтобы указать на их соответствующие местоположения.

(последний из трех комментариев по умолчанию, поэтому вам нужно раскомментировать его.

Я разобрал проблему. Это было из-за того, что в моем коде предыдущий пользователь сделал файл контроллера 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