Я установил базовое приложение Yii 2 и под config/web.php
Я использую:
urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
]
под components
,
Но когда я пытаюсь запустить свое приложение, я получаю следующую ошибку:
Неверный вызов — yii \ base \ InvalidCallException
Настройка свойства только для чтения: yii \ web \ Application :: urlManager>
Так же urlManager
код прекрасно работает в расширенном приложении, хотя. Есть идеи почему?
Invalid Call – yii\base\InvalidCallException Setting read-only property: yii\web\Application::urlManager>
Из этого сообщения об ошибке похоже, что вы пытаетесь переопределить urlManager
в компоненте приложения, который не допускается.
urlManager
и несколько других компонентов, таких как security
предопределены как основной компонент приложения. Скорее всего, переопределение этих основных компонентов приведет к неожиданному поведению (хотя я не был свидетелем этого).
Попробуйте удалить ключ class
в конфигурации.
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
]
Ниже приведена правильная конфигурация.
'components' => [
'urlManager' => [
//'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules'=>[
],
],
],
Пожалуйста, используйте эту последовательность
'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'],
],