неділю, 6 листопада 2011 р.

Deprecated: Function ereg_replace() is deprecated in…

При переходе с версии PHP 5.2 на PHP 5.3 у многих возникает ошибка вида

Deprecated: Function ereg_replace() is deprecated in Z:\home\site\www\modules\general.php on line 218

Deprecated: Function ereg_replace() is deprecated in Z:\home\site\www\modules\general.php on line 219

Deprecated: Function ereg_replace() is deprecated in Z:\home\site\www\modules\general.php on line 220

Deprecated: Function ereg_replace() is deprecated in Z:\home\site\www\modules\general.php on line 221

Deprecated: Function ereg_replace() is deprecated in Z:\home\site\www\modules\general.php on line 222

Причина возникновения ошибки в том, что в новых версиях PHP функция ereg заменена на функцию preg_match а так же следует вместо

Есть два варианта решения этой неприятности (мне больше нравится второй :) как самый простой, но возможно не подойдет для тех кто получил эту ошибку на хостинге)

Вариант № 1 :

Заменить во всем коде старые функции на приветствующие новые.

Вариант № 2 :

Открываем файл настройки 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
; http://php.net/mbstring.func-overload
; mbstring.func_overload = 0

0 – Оставить все без изменений.
1-4 Включить одну из функций.
7 – Включить сразу все функции.
Слово “включить” тут не совсем корректно. Речь идет об включении поддерживания старых функций, при этом новые будут отключены. Если у Вас нету никаких ошибок, то лучше их не включать.

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

mbstring.func_overload = 7

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments