本番サーバーから 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();
よろしく。