我已经设置了Yii 2基本应用程序,并在config/web.php
下使用:
urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
]
<{1>}下的。
但是当我尝试运行我的应用程序时,出现以下错误:
无效调用 - yii \ base \ InvalidCallException 设置只读属性:yii \ web \ Application :: urlManager&gt;
相同的components
代码在高级应用程序中工作正常。有什么想法吗?
答案 0 :(得分:5)
Invalid Call – yii\base\InvalidCallException Setting read-only property: yii\web\Application::urlManager>
从此错误消息中,您似乎尝试在应用程序组件中重新定义urlManager
,这是不允许的。
urlManager
,以及security
等其他几个组件被预定义为核心应用程序组件。最有可能的是,重新定义这些核心组件会导致意外行为(尽管我没有目击过)。
尝试删除配置中的密钥class
。
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
]
答案 1 :(得分:2)
以下是正确的配置。
'components' => [
'urlManager' => [
//'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules'=>[
],
],
],
答案 2 :(得分:0)
请使用此序列
'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'],
],