Deprecated: Function ereg() is deprecated при установке Drupal

Май 19, 2010
Теги:

Ошибка 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() (на картинке указано зеленым)

Замена функции ereg() на mb_ereg()

У кого нет картинок, то строчка примерно такая:

elseif ($depth >= $min_depth && mb_ereg($mask, $file)) 

У кого нет картинок, то строчка примерно такая:Далее обновляем страницу в браузере или открываем новую. И любуюмеся установщиком друпала.

Установщик CMS Drupal

Удачи в покорении Друпала!

Нет похожих записей.



  • http://www.kiwidition.ru SkyMaverick

    Спасибо большое! =)

  • Istepan

    Спасибо, помогло.

  • Danila

    Сейчас достаточно обновить версию Drupal

  • http://poetrys.ru/ Bugaga

    А как обновить то?

    • http://freestee.ru TRSteep

      Я еще не разу не обновлял, но искать такую инфу лучше на русском сайте по друпалу :)
      например вот http://www.drupal.ru/node/11054, но за работоспособность не ручаюсь — не проверял.

  • Азамат

    спасибо большое. информация очень помогла…

  • Garik

    СПАСИБО ОГРОМНОЕ )

  • vestlik

    У меня на стоке 902 стоит уже:
     elseif ($depth >= $min_depth && mb_ereg($mask, $file)),тем неменее показывает ошибку:
    Deprecated: Function ereg() is deprecated in Z:homelocalhostwwwsimpleincludesfile.inc on line 902.
    Как быть?

  • Mf

    Большое спасибо помогло