Такой баголовок такого Злога.

среда, 13 октября 2010 г.

Codeigniter 1.7.2 и PHP 5.3

Сайт, работающий на фрейморке Codeigniter указанной версии при обновлении php начал падать с ошибками
Deprecated: Assigning the return value of new by reference is deprecated in C:\bagolovok\www\ci\system\codeigniter\Common.php on line 130
Быстрое решение нашлось, и оно состоит в следующем.
В файле index.php корневой директории проекта заменяем строчку 12
error_reporting(E_ALL);

на такую

error_reporting(E_ALL & ~E_DEPRECATED);

Исправляем также регулярное выражение для обработки URI.
Строчку 189 в файле system\libraries\URI.php
if ( ! preg_match("|^[".preg_quote($this->config->item
('permitted_uri_chars'))."]+$|i", $str))

заменить строчкой
if ( ! preg_match("|^[".str_replace('\\-', '-', preg_quote ($this->config->item('permitted_uri_chars')))."]+$|i", $str))