2016-03-08 4 views
1

HI i установлен yii2 и записывает приложение. Я использовал git. Когда я переношу приложение на сервер. Все выглядит хорошо. Но когда я пытаюсь войти я получаю сообщение:Yii2 - Неизвестное свойство - yii base UnknownPropertyException Получение неизвестного свойства: yii web Application :: security

Unknown Property – yii\base\UnknownPropertyException 

Getting неизвестное свойство: юй \ Web \ Application :: безопасность

1. in C:\httpd\omg\omg-new\vendor\yiisoft\yii2\base\Component.php at line 142 
133134135136137138139140141142143144145146147148149150151 

      foreach ($this->_behaviors as $behavior) { 
       if ($behavior->canGetProperty($name)) { 
        return $behavior->$name; 
       } 
      } 
     } 
     if (method_exists($this, 'set' . $name)) { 
      throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name); 
     } else { 
      throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name); 
     } 
    } 

    /** 
    * Sets the value of a component property. 
    * This method will check in the following order and act accordingly: 
    * 
    * - a property defined by a setter: set the property value 
    * - an event in the format of "on xyz": attach the handler to the event "xyz" 

2. in C:\httpd\omg\omg-new\vendor\yiisoft\yii2\di\ServiceLocator.php – yii\base\Component::__get() at line 72 
3. in C:\httpd\omg\omg-new\common\models\User.php – yii\di\ServiceLocator::__get() at line 154 
148149150151152153154155156157158159160 

    * 
    * @param string $password password to validate 
    * @return boolean if password provided is valid for current user 
    */ 
    public function validatePassword($password) 
    { 
     return Yii::$app->security->validatePassword($password, $this->password_hash); 
    } 

    /** 
    * Generates password hash from password and sets it to the model 
    * 
    * @param string $password 

4. in C:\httpd\omg\omg-new\common\models\LoginForm.php – common\models\User::validatePassword() at line 45 
39404142434445464748495051 

    * @param array $params the additional name-value pairs given in the rule 
    */ 
    public function validatePassword($attribute, $params) 
    { 
     if (!$this->hasErrors()) { 
      $user = $this->getUser(); 
      if (!$user || !$user->validatePassword($this->password)) { 
       $this->addError($attribute, 'Incorrect username or password.'); 
      } 
     } 
    } 

    /** 

Что бы быть проблема? Я запустил обновление для композитора. Почему не хватает безопасности?

+0

Есть ли косая черта перед вашим комментарием по нескольким линиям? Какое сообщение об ошибке вы получаете, я просто вижу код? Является ли код сообщением об ошибке? –

+0

Да, сбой отсутствует, это исключение yii, добавлено подробное описание исключения. – MrGapo

ответ

1

Вы должны использовать getSecurity()

Yii::$app->getSecurity()->generatePasswordHash($password); 
+0

Хорошо Можно попробовать с getSecutiry. Забыл упомянуть. На исходном сервере разработки все работает нормально. Но когда я нажимаю код клонирования на другую проблему с сервером. – MrGapo

+0

Один сервер - это окно, а другое - unix/linux? – scaisEdge

+0

Ok try getSecurity() Такая же проблема: вызов неизвестного метода: yii \ web \ Application :: getSecurity() Обе системы Windows. Окончательная установка будет на linux, но теперь, чтобы решить проблему, я хочу одну и ту же систему с обеих сторон. Я думаю, что есть что-то о композиторе? – MrGapo

-1

Является ли это правильно: Yii :: $ приложение?

это не должно быть Yii :: приложение()

Я не знаком с 2.x еще.

1

OK Я нашел ошибку. При запуске обновления композитора. Это обновление композитора, но найти в руководстве по установке, которые вы должны выполнить

композитора глобального требует «FXP/композитор-актив-плагин: ~ 1.1.1»

Этого варианта я забыл о новой установке в новом компьютере. Теперь все работает

Смежные вопросы