PHP – ошибка Deprecated: Function eregi() is deprecated in… [решение]

просмотров: 5222317 августа 2011 года

После установки новой версии PHP v5.3.0, начала появляться ошибка:

Deprecated: Function eregi() is deprecated in ...file... on line 33

У меня, эта ошибка появлялась в движке ExpressionEngine - в админку зайти не возможно, другие скрипты тоже глючат, а некоторые не работают.

Deprecated: Function eregi() – причина возникновения

Как оказалось, с выходом версии PHP 5.3.0 некоторые функции были признаны устаревшими/отстойными/ненадежными, и были заменены на другие. Очень много современных скриптов уже переписаны с учетом новых функций, но что делать, если у меня старый скрипт, и по каким-то причинам не могу его переписать?

Решение проблемы

Проблему можно решить несколькими способами:

  1. Дождаться обновлений / отписать разработчикам скриптов
  2. Откатиться до предыдущей версии PHP
  3. Настроить текущую версию PHP

Как оказалось, разработчики PHP решили оставить директиву для включения "старых" функций, скорее всего это сделано временно, для того, чтобы все могли плавно переписать свои скрипты. Но нам необходимо, чтоб всё работало сейчас - воспользуемся этой директивой:

И так, находим файл php.ini, а в нем строки:

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
;mbstring.func_overload = 0

Последняя строка - и есть наш параметр mbstring.func_overload. Раскомментируем его.
Значение параметра должно ровняться сумме чисел включаемых функций.

Например, чтоб включить функции mail() и ereg*() - необходимо вписать туда 1+4=5

Я включу все старые функции: mbstring.func_overload = 7

После сохранения файла настроек, производим перезагрузку сервера apache:

service httpd restart

 

Все. Должно работать.

Поделиться

Комментарии (6)

Елена Кожемяко (17 ноября 2013 года, 15:40:07)

Спасибо Вам! Мне помогло, все работает)

Гость (5 декабря 2013 года, 18:54:53)

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

Susanbuh (28 марта 2019 года, 03:57:30)

Путешествие и отдых во многих закутках земного шара посещение известных исторических мест, отзывы о гостиничных комплексах и отелях, советы для путешественников и туристов, фотки развлечений в различных державах мирового сообщества. Дороги независимых поездок, рекомендации независимым путникам, первый раз на отдых самостоятельно. Рано или поздно в жизнедеятельности каждого человека случается эпизод, в то время, когда она думает о таком факте, затем чтобы видеть мир. В данном устремлении он сталкивается с большим перечнем достопримечательностей, любое из которых по праву считается по-своему незабываемым и сочным.

Поподробнее: <a >кругосветное путешествие</a>

DonaldGuirm (6 апреля 2019 года, 07:17:14)

Детский сервис, основан сознательно для Вас лично и всех ваших деток. Основной идеей мероприятия несомненно является - время препровождения с выгодой, весело и наслаждением. Предполагаем смотреть детский онлайн-проект будет интересно не обязательно юным мамам, но и бывалым родителям со стажем. Желательно, для того чтобы указанный детский онлайн-проект стал вам лично надежным товарищем и подсказчиком.
Подробно:
<a >любимые дети</a>

Michaelbex (14 апреля 2019 года, 19:30:39)

Hi! <a >cheap viagra online canadian pharmacy</a> beneficial site.

Shaneenera (24 апреля 2019 года, 20:05:59)

Hello there! <a >trusted online pharmacy</a> excellent website.

Что скажем?