Drupal ошибка ereg() is deprecated при установке

Ошибка ereg() is deprecated при установке Drupal При попытке установить cms друпал для тестирования на локальном сервере я получил ошибку: Deprecated: Function ereg() is deprecated in drupal\includes\file.inc on line 902
Немного поковырявшись в сети понял, что это из-за того на сервере новая версия PHP 5.3.1 где функция ereg() устарела.
(Друпал у меня версии 6.14) Проблему можно решить несколькими путями:
1. Самое простое скачать старую версию сервера (например старую сборку денвера, вампсервера и тд.) Но! у меня там несколько сайтов разрабатывается – мне было лень заново ставить, поэтому:
2. Нужно исправить устаревшую функцию на новую! Кажется что лезть в исходные коды это неправильно, но это работает, это быстро, и достаточно просто, хотя вначале думается иначе. Итак приступим: Заменить функцию ereg() можно либо preg_replace() либо mb_ereg(). По мнению того кто тестировал эти функции, лучше использовать: mb_ereg().
Вернемся к проблеме: Устаревшая функция находится в файле file.inc Который находится по следующему пути:
drupal\includes\file.inc
Я использую Denver и у меня полный путь такой:
C:\WebServers\home\drupal\www\includes\file.inc Находим строчку с номером 902 и заменяем ereg() на mb_ereg()
Cтрочка примерно такая: elseif ($depth >= $min_depth && mb_ereg($mask, $file))
Далее обновляем страницу в браузере или открываем новую. И любуюмеся установщиком друпала. Удачи в покорении Друпала!

Оставить комментарий