0

Web サイトをクラウドにアップロードしました。ローカルホストでは問題なく動作していました。しかし、RBAC を含むビューでこのエラーが発生します。理由はわかりません(コードを参照)。

AuthAssignment モデルのモデル権限を 644 から 777 に変更して、それが役立つかどうかを確認してみました。それはしませんでした。

YII がコントローラーで「CheckAccess」コードを実行しようとすると、エラーが発生します。以下のコードの 220 行目にエラーが表示されます。

何が起こっているのか、それを修正するために私に何ができるのか知っている人はいますか? ありがとう!

CException

Property "CDbAuthManager.AuthAssignment" is read only.
/var/www/vhosts/MYDOMAIN/yii/framework/YiiBase.php(220)

  208             {
  209                 unset($args[0]);
  210                 $class=new ReflectionClass($type);
  211                 // Note: ReflectionClass::newInstanceArgs() is available for PHP        5.1.3+
  212                 // $object=$class->newInstanceArgs($args);
  213                 $object=call_user_func_array(array($class,'newInstance'),$args);
  214             }
  215         }
  216         else
  217             $object=new $type;
  218 
  219         foreach($config as $key=>$value)
  220             $object->$key=$value;
  221 
  222         return $object;
  223     }
  224 
  225     /**
  226      * Imports a class or a directory.
  227      *
  228      * Importing a class is like including the corresponding class file.
  229      * The main difference is that importing a class is much lighter because it only
  230      * includes the class file when the class is referenced the first time.
  231      *
  232      * Importing a directory is equivalent to adding a directory into the PHP include path.
4

1 に答える 1

1

これを理解しました。これはばかげた間違いでした。Linux サーバーにアップロードした後の RBAC テーブルの割り当ての問題を解決しようとしていたのですが、それが間違っていました。これが正しい方法です。

//In config/main.php

'authManager'=>array(
        'class'=>'CDbAuthManager',
        'connectionID'=>'db',
        'assignmentTable'=>'authassignment',
        'itemTable'=>'authitem',
        'itemChildTable'=>'authitemchild',
        ),
于 2013-10-03T18:15:21.160 に答える