Yii2 ReflectionException类yii \ web \ urlManager不存在

时间:2015-03-26 13:11:13

标签: php yii2

我正在使用Yii2高级模板构建我的网站。 URL被重写为

localhost:9001/projectyii/page/index/#/demo

page是控制器,index是操作,/#/demo只是AngularJS在前端的路由) 在我的localhost上一切正常。当我将其上传到我的服务器时,无论何时我点击URL都有前缀example.com/projectyii/,它将抛出以下异常

ReflectionException

类yii \ web \ urlManager不存在

1. in /home/scott/public_html/projectyii/vendor/yiisoft/yii2/di/Container.php at line 415
406407408409410411412413414415416417418419420421422423424     * @return array the dependencies of the specified class.
     */
    protected function getDependencies($class)
    {
        if (isset($this->_reflections[$class])) {
            return [$this->_reflections[$class], $this->_dependencies[$class]];
        }

        $dependencies = [];
        $reflection = new ReflectionClass($class); // error here

我注意到还有一些其他网站已经在同一台服务器上运行(它们都使用Yii 1.1.13)并且它们一直没有问题,例如

example.com/project1/
example.com/project2/

...

它只是在Yii2中失败了这个新网站。

/frontend/config/main.php

上的组件设置不足
'urlManager' => [
            'class' => 'yii\web\urlManager',
            'baseUrl' => $baseUrl,
            'enablePrettyUrl' => true,
            'showScriptName' => false,

            'rules' => [],
        ]

错误告诉它找不到urlManager类,但是类确实存在,名称空间很好,因为我不修改包含urlManager类的vendor文件夹中的任何内容。 我不明白我在这里缺少什么。任何帮助表示赞赏!感谢

1 个答案:

答案 0 :(得分:0)

Linux与其他unix系统一样,区分大小写你应该使用:

'class' => 'yii\web\UrlManager',代替urlManager