在CakePHP 3.2中使用前缀admin时缺少控制器

在CakePHP 3.2中使用前缀admin时缺少控制器,php,php-5.6,cakephp-3.2,Php,Php 5.6,Cakephp 3.2,我对使用CakePHP 3.2的网站的管理部分有问题 这一部分在本地的wamp上运行得非常好,但是当我将站点移动到apache服务器时,它停止了工作。我收到以下错误消息: 缺少控制器蛋糕\Routing\Exception\MissingControllerException 错误:找不到DashboardController。错误:在以下文件中创建DashboardController类:src/Controller/Admin/DashboardController.php 变量中的这个错误

我对使用CakePHP 3.2的网站的管理部分有问题

这一部分在本地的wamp上运行得非常好,但是当我将站点移动到apache服务器时,它停止了工作。我收到以下错误消息:

缺少控制器蛋糕\Routing\Exception\MissingControllerException 错误:找不到DashboardController。错误:在以下文件中创建DashboardController类:src/Controller/Admin/DashboardController.php

变量中的这个错误:

错误:不可序列化对象-Cake\Routing\Exception\MissingControllerException。错误:在第79行的/data/vhosts/dev.droplet.ninja/htdev/vendor/cakephp/cakephp/src/Routing/Dispatcher.php中找不到控制器类仪表板

但控制器存在于具有以下内容的正确路径:

<?php
namespace App\Controller\Admin;

use App\Controller\AppController;

class DashboardController extends AppController
{

    public function index()
    {

    }
}
这些路线对于网站的公共部分来说很好,但对于这一部分就不行了。它似乎可以读取前缀并尝试转到该文件,甚至要求我创建与我已有的完全相同的文件。唯一不确定的是它为什么找不到他

此外,控制器名称位于:

src/Controller/Admin/DashboardController.php
我一直在寻找两个apaches设置之间的差异,但没有找到cakePhp具有这种行为的原因

你知道吗


谢谢

有很多原因说明它可能不起作用。就我而言,这是因为我必须清除旧的路由缓存

bin/cake cache clear _cake_routes_
您可以通过运行
bin/cake cache list\u prefixes
来获取缓存前缀列表


更多信息:

如果文件存在,几乎总是权限问题。您所说的权限是什么意思?要访问服务器上的文件?我刚查过。这些文件具有以下权限rw-r--r--(644)。我将检查我的身份验证,看看是否有问题。谢谢你的帮助。好的,我查过了,这里没有问题。你有其他想法吗?我没有任何其他想法,但我还没有在我的项目中使用管理路由。开始在Dispatcher.php的第79行添加一些调试?谢谢,我也这么做了。问题似乎出在EventListener中。它可能是缺少扩展的问题,还是版本问题?我注意到,即使我将wamp设置为使用PHP5.6.19,CakePHP应用程序也会使用PHP7.0。这可能会造成版本冲突。
bin/cake cache clear _cake_routes_