Trying to get property of non-object после переезда

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
delias
Сообщения: 41
Зарегистрирован: 2011.10.07, 11:44

Trying to get property of non-object после переезда

Сообщение delias »

Проект разрабатывался на денвере + на тестовом рабочем хостинге - всё было ок.
После переноса на сервер клиента не запустился, с ошибкой "Trying to get property of non-object"
также подсвечена эта строка с ошибкой:

Код: Выделить всё

public function actionIndex()
30     {
31         // renders the view file 'protected/views/site/index.php'
32         // using the default layout 'protected/views/layouts/main.php'
[b]33     if (Yii::app()->request->cookies['lang']->value){[/b]
....
 
Я так понимаю, что проблема в настройках этого самого сервера, и видимо что-то с куками (куки у меня в контроллере для определения выбранного пользователем языка и загрузки соответствующего контента).
Может кто что подскажет, сталкивались с подобным?

Аватара пользователя
mitaichik
Сообщения: 512
Зарегистрирован: 2010.09.24, 21:18
Откуда: Россия, Санкт-Петербург

Re: Trying to get property of non-object после переезда

Сообщение mitaichik »

На вскидку - у тебя нет куки с именем lang. У локального проекта была, а у сервера нет (домены разные?). Сделай проверку с пом isset()

delias
Сообщения: 41
Зарегистрирован: 2011.10.07, 11:44

Re: Trying to get property of non-object после переезда

Сообщение delias »

ну куки я на локальном проекте пробовал все чистил, для чистоты эксперимента. если кук lang нет - то всё работает и без них...

Аватара пользователя
mitaichik
Сообщения: 512
Зарегистрирован: 2010.09.24, 21:18
Откуда: Россия, Санкт-Петербург

Re: Trying to get property of non-object после переезда

Сообщение mitaichik »

ИМХО проблема именно в этом. Yii::app()-request->cookies есть полюбас (если ты там особо конфиги не изменял) А вот вызов cookies['lang'] при отсутсвии нужной куки вернет null. (смотри CMap::itemAt). Это единственное место где ты можешь словить косяк. Проверяй на наличие куки.

Ответить