PHP Предупреждение: недопустимое смещение строки

Я новичок в PHP. Сегодня PHP был перенесен с версии 5.3.3 в 5.4.4 (Debian Squeeze to Debian Wheezy), и после этого я получаю эту ошибку из журнала Apache:

> PHP Предупреждение: недопустимое смещение строки «phptype» в xyz

Линия:

self::$conn[$dsn['phptype']] = $mdb2; 

Мне нужна помощь для восстановления системы.

 <?php $a = 'Hello'; echo $a['whatever']; ?> 

Как говорят некоторые из ребята в комментариях, делать что-то подобное, вероятно, приведет к этой ошибке. Как вы можете видеть в приведенном выше примере $a – это строка, а не массив. Это означает, что вы не можете получить к нему доступ с ключом (если вы хотите получить третью букву в строке, было бы нормально делать $a[2] ).

Вам нужно проверить, что self::$conn и $dsn на самом деле являются массивами, а не строками. Как говорит Альваро Г. Викарио в комментариях, вы можете сделать это, сбросив переменную:

var_dump(self::$conn, $dsn)

Ошибки неправильного смещения возникают при попытке получить доступ к индексу массива с использованием объекта или массива в качестве ключа индекса. Проверьте правильность вашего массива.