Cannot redeclare class CI_Exceptions
25 Ноя 2011
После обновления php CodeIgniter может выдавать такую ошибку:
Cannot redeclare class CI_Exceptions in
/usr/lib/php5/codeigniter/system/database/DB.php on line 133
В моем случае проблема была решена удалением амперсанда (&) в двух строках указанного файла DB.php:
1. В объявлении функции DB:
до редактирования (строка 25 файла DB.php)
function &DB($params = '', $active_record_override = FALSE)
после редактирования
function DB($params = '', $active_record_override = FALSE)
2. При создании объекта класса:
до редактирования (строка 133 файла DB.php)
$DB =& new $driver($params);
после редактирования
$DB = new CI_DB_mysql_driver($params);
здесь еще, вместо переменной $driver было сразу прописано значение CI_DB_mysql_driver.
После этих исправлений ошибка не появлялась, сервер перестал падать.