Ошибка «Function ereg() или split() is deprecated in» как решить проблему?

20 Ноя 2012
Admin
2293
21

Function split ereg() is deprecated inНедавно версия PHP 5.3 стала стабильной и набирает обороты у всех хостинг провайдеров. В одно время все CMS-ки выпустили обновления которые требуют PHP 5.3 и не ниже. Итак, сейчас уже PHP 5.3 стоит практически у каждого прогрессивного хостинг провайдера, поэтому можно смело обсуждать плюсы и минусы данной версии. Конкретной темой сегодняшней статьи будет проблема не работающих функций в новой версии.

А именно таких функций:  ereg(), eregi() и split(). После переноса наших сайтов на версию PHP 5.3 начали появляться ошибки типа: Function ereg() is deprecated in, Function eregi() is deprecated in или function split() is deprecated in.

Такие ошибки довольно легко исправить, например ошибку «function split() is deprecated in» можно исправить просто заменив слово split в вашем коде на explode .

Да именно так, все очень просто, точно также можно исправить ошибку: Function ereg() is deprecated in, просто заменить ereg и eregi на preg_match. Вместо и той и той функции ставится preg_match(«/abcd/i» ). Кстати обратите внимание на delimiters. А именно в новой функции это два «слеша» выражения в «» . За последним слешем ставится «i», если мы изменяем функцию eregi().

Ошибку Function ereg_replace() is deprecated in можно пофиксить всего лишь заменив ereg_replace  на preg_replace.

Аналогичным образом решается ошибка: deprecated: function set_magic_quotes_runtime() is deprecated in 

Нужно сделать так к примеру:

@set_magic_quotes_runtime(0); заменить на ini_set(‘magic_quotes_runtime’, 0);

или

@set_magic_quotes_runtime($mqr); заменить на ini_set(‘magic_quotes_runtime’, $mqr);

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

 Оставляйте ваши отзывы или пишите ваши вопросы в комментарии, постараемся помочь если у вас возникнут трудности.

УжасноПлохоНормальноХорошоОтлично (2 голос(ов), средняя оценка: 5,00 из 5)
Загрузка...
Похожие записи:
Фильтр по
Post Page
Безопасность Windows 7 Интернет Советы Ошибки и Решения Руководства Linux
Сортировать

21 комментарий

  • Благодарю автора за статью с описанием ошибки Function ereg() is deprecated in. В php полный ноль но поигравшись методом проб и ошибок, а также многократного перечитывания статьи, ошибку в CMS удалось исправить.

  • володя:

    // а что тут надо изменить?????
    LoadDefaultSettings(ELFCHAT_ROOT . ‘/settings.default.php’);
    $settings->LoadSettings(ELFCHAT_ROOT . ‘/cache/settings.php’);
    Elf::Set(‘settings’, & $settings);

    if(!Elf::Settings(‘show_errors’))
    {
    error_reporting(0);
    }

    if(Elf::Settings(‘censure’))
    {
    include_once ‘lib/Censure/Censure.php’;
    include_once ‘lib/Censure/ReflectionTypehint.php’;
    include_once ‘lib/Censure/UTF8.php’;
    }

    // Skin Init
    if(!defined(‘NO_SKIN’))
    {
    if(!defined(‘SKIN_PATH’))
    {
    define(‘SKIN_PATH’, ELFCHAT_ROOT . ‘/skin/’ . Elf::Settings(‘skin’));
    }
    $skin = new Skin(SKIN_PATH);
    View::set_skin($skin);
    }

    // Date Init
    if(!defined(‘NO_DATE’))
    {
    date_default_timezone_set(Elf::Settings(‘timezone’));
    }
    }

    // Lang Init
    if(!defined(‘NO_LANG’))
    {
    if(!defined(‘LANG’))
    {
    try
    {
    define(‘LANG’, Elf::Settings(‘lang’));
    }
    catch (ElfException $e)
    {
    define(‘LANG’, ‘en’);
    }
    }
    if(!defined(‘LANG_FILE’))
    {
    define(‘LANG_FILE’, ELFCHAT_ROOT . ‘/lang/’ . LANG . ‘/lang_general.php’);
    }
    $lang = new Lang();
    $lang->load_file(LANG_FILE);
    Elf::Set(‘lang’, & $lang);
    }
    ?>

  • Константин:

    Спасибо!
    Для ошибки «Function ereg() is deprecated in» помогло!

  • Я участвую в акмуллинской олимпиаде
    Заменил, что у меня исчезли вторые буквы моей фамилии,имени и отчества.
    Там на сайте, на своём аккаунте, когда я хочу исправить фамилию имя отчество, то мне выдаёт такую строчку:
    Deprecated: Function eregi() is deprecated in /da1/www/cro/action/user/save_atr.php on line 26
    4
    Могу ли что нибудь сделать или это вина администраторов сайта олимпиады?

    • Admin:

      К сожалению, с вашей стороны ничего сделать невозможно, проблема в том, что сайт использует диhективы, которые устарели в новых версиях PHP.

  • Игорь:

    Deprecated: Function ereg() is deprecated in /home/u821458826/public_html/pages/account/_payment.php on line 37
    помогите решить эту проблему!Не как не могу понять что нужно сделать!

  • Bullet:

    Подскажите пожалуйста. У меня на движке ДЛЕ возникла такая проблема: Deprecated: Function ereg_replace() is deprecated in ——————/inc/makethumb.php on line 34 Fatal error: Call to undefined function exif_imagetype() in ————————/inc/makethumb.php on line 49. Где мне исправить ошибку?

  • Игорь:

    Спасибо!
    Для ergi помогло

  • Кирилл:

    Помогло. Не пришлось целый день убивать из-за такой мелочи. Спасибо автору.

  • Анна:

    Спасибо, Вам огромное =) Очень полезная информация!

  • Сергей:

    четко !, по делу без всякой размазни от SEO писарей ! СПС!

  • Спасибо огромное. Недавно ни с того, ни с сего появились на сайте обе эти ошибки. Благодаря вашей небольшой статье всё быстро сам поправил, даже не обращаясь к программисту))

  • artem:

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

  • Спасибо, отличная статья получилась.
    У меня возникла ошибка ereg() я исправил теперь все работает!

  • Спасибо! Помог!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *