我的生产服务器出现 500 错误,但仍在渲染。到目前为止,我可以去错误是因为访问规则。我有这个配置
public function accessRules()
{
return array(
array('allow',
'actions'=>array('create','admin','delete','index', 'view','update','users'),
'roles'=>array('SuperAdmin'),
),
array('allow',
'actions'=>array('index', 'view','update','users'),
'roles'=>array('Admin'),
),
array('deny', // deny all users
'roles'=>array('Admin','User'),
),
array('deny',
'users'=>array('?'),
)
);
}
我的错误配置如下:error_reporting(E_ALL & ~(E_NOTICE | E_DEPRECATED | E_STRICT)); ini_set('display_errors','0');
这不应该发送任何 500 但仍在发送。奇怪的是它并没有停止而是继续渲染视图。
这就是我创建角色的方式 $auth=Yii::app()->authManager; $roles = $auth->getRoles();
if (!isset($roles['Admin']))
$auth->createRole('Admin', 'Admin', 'return Yii::app()->user->getState("role")=="Admin";');
if (!isset($roles['SuperAdmin']))
$auth->createRole('SuperAdmin', 'Super Admin ', 'return Yii::app()->user->getState("role")=="SuperAdmin");');
if (!isset($roles['User']))
$auth->createRole('User', 'User', 'return Yii::app()->user->getState("role")=="User");');
$auth->save();
问候。