我已经设置了 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'],
],