У меня проблема с административной частью моего сайта при использовании CakePHP 3.2.
Эта часть очень хорошо работает на wamp в локальном режиме, но когда я переместил сайт на сервер apache, он перестал работать. У меня есть это сообщение об ошибке:
Отсутствует ошибка контроллера Cake\Routing\Exception\MissingControllerException: не удалось найти DashboardController. Ошибка: Создайте класс DashboardController ниже в файле: src/Controller/Admin/DashboardController.php
И эта ошибка в переменных:
ошибка: несериализуемый объект - Cake\Routing\Exception\MissingControllerException. Ошибка: Панель мониторинга класса контроллера не найдена в /data/vhosts/dev.droplet.ninja/htdev/vendor/cakephp/cakephp/src/Routing/Dispatcher.php, строка 79.
Но контроллер существует по правильному пути с этим содержимым:
<?php
namespace App\Controller\Admin;
use App\Controller\AppController;
class DashboardController extends AppController
{
public function index()
{
}
}
Префикс в моем файле route.php:
// Admin namespace
Router::prefix('admin', function ($routes) {
$routes->connect('/', ['controller' => 'Dashboard', 'action' => 'index', 'dashboard']);
$routes->fallbacks('DashedRoute');
});
Маршруты отлично работают для общедоступной части сайта, но не для этой. Кажется, он может прочитать префикс и попытаться перейти к файлу и даже попросить меня создать точно такой же файл, который у меня уже есть. Единственная загадка в том, почему он не может его найти.
Также имя контроллера находится в:
src/Controller/Admin/DashboardController.php
Я искал различия между двумя настройками apache, но не нашел, что может заставить CakePhp иметь такое поведение.
Есть ли у вас какие-либо идеи ?
Спасибо