melwin
(Chernobl)
May 7, 2010, 6:27am
1
if($this->_identity->errorCode === UserIdentity::ERROR_NONE)
{
$duration = $this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->user->login($this->_identity,$duration);
return true;
}
Вот в этом коде когда сайт был выложен на сервак перестала работать эта строчка:
Yii::app()->user->login($this->_identity,$duration);
На локалке все работает нормально. Работать перестала в смысле того что когда до нее доходит скрип прекращает обработку и появляется путая страница. Подскажите пожалуйста где стоит поискать проблему?
someone
(198506)
May 7, 2010, 9:05am
2
Я предполгаю что надо посмотреть на имена файлов (на их регистр) от класса с $_identity и права на них.
KJedi
(Konstantin Mirin)
May 7, 2010, 9:33am
3
Аутентификация через базу?
emulatePrepare => true ?
версии пхп и мускуля?
Возможно что при работе с БД через PDO происходит креш самого пхп. У меня такое было, вылечилось следующим:
emulatePrepare => true для объекта БД
$statement->bindParam поменял на $statement->bindValue
обновление мускуля до 5.1
надо еще посмотреть на пхп версию, там в какой-то есть баг с PDO.
Возможно здесь другая проблема, смотри внимательно.
melwin
(Chernobl)
May 10, 2010, 1:53am
4
С базой работает он вроде нормально.
$this->_identity = new UserIdentity($this->username,$this->password);
$this->_identity->authenticate();
if($this->_identity->errorCode === UserIdentity::ERROR_NONE)
{
$duration = $this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->user->login($this->_identity,$duration);
return true;
};
первые две строчи - там осуществляется поиск нужного логина и сравнение с паролем.
Сейчас стало ясно путем подставления echo что функция логин вообще не вызывается.
Он ведет себя так как будто объекта user нету, не был создан.