У меня проблема с PHP 5.3.6, я получаю следующую ошибку:
Indirect modification of overloaded property CI_Session::$form_certs has no effect
Я прочитал об этом и нашел уродливое решение старой ошибки PHP 5.2.x из2007 здесь .
Но в моем случае это не метод __get()
, вызывающий ошибку, а метод __set()
.
Мой код выглядит так:
class CI_Session{
__set($name,$val){
return $_SESSION[$name] = $val;
}
}
И строка, вызывающая ошибку:
$this->session->form_cert['foo'] = 'bar'; //$this->session is an instance of CI_Session
Я пытался явно установить $this->session->form_cert = array();
перед тем, как сделать выше, но проблема сохраняется.
Я также проверял этона PHP 5.3.3 и имели те же результаты.
Что я могу сделать, кроме как использовать этот старый обходной путь (который облажает еще 500+ строк кода, которые я уже написал)?(Это та же ошибка? Почему она все еще существует в 5.3.6?)