Получение ошибки Invalid Call — yii \ base \ InvalidCallException при настройке компонента urlManager в Yii 2

Я установил базовое приложение Yii 2 и под config/web.php Я использую:

    urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
]

под components,

Но когда я пытаюсь запустить свое приложение, я получаю следующую ошибку:

Неверный вызов — yii \ base \ InvalidCallException
Настройка свойства только для чтения: yii \ web \ Application :: urlManager>

Так же urlManager код прекрасно работает в расширенном приложении, хотя. Есть идеи почему?

3

Решение

Invalid Call – yii\base\InvalidCallException Setting read-only property: yii\web\Application::urlManager>

Из этого сообщения об ошибке похоже, что вы пытаетесь переопределить urlManager в компоненте приложения, который не допускается.

urlManagerи несколько других компонентов, таких как security предопределены как основной компонент приложения. Скорее всего, переопределение этих основных компонентов приведет к неожиданному поведению (хотя я не был свидетелем этого).

Попробуйте удалить ключ class в конфигурации.

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
]
5

Другие решения

Ниже приведена правильная конфигурация.

'components' => [
'urlManager' => [
//'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules'=>[
],
],
],
2

Пожалуйста, используйте эту последовательность

'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'mailer'=>[
'class'=>'yii\swiftmailer\Mailer',
'useFileTransport'=> false,
],
'authManager'=>
[
'class'=>'yii\rbac\DbManager',
'defaultRoles'=> ['guest'],
],
0
По вопросам рекламы [email protected]