Немного о работе MFS 2.2 на php 5.3

Честно говоря переносил сегодня букс на скрипте МФС 2.2.
Друг один попросил.
И вот такая ошибочка была.Честно говоря переносил сегодня букс на скрипте МФС 2.2. Друг один попросил. И вот такая ошибочка была:

Deprecated: Function ereg() is deprecated in /home/пользователь/букс.рф/funciones.php on line 5

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 8 in /home/пользователь/букс.рф/profilaction.php on line 4

Parse error: syntax error, unexpected ';' in /home/пользователь/букс.рф/sfbstat.php on line 89


Так чё за ошибки были?

Deprecated: Function ereg() is deprecated in /home/пользователь/букс.рф/funciones.php on line 5


Что тут непонятного?

Всё просто, в файле funciones.php используется функция ereg, которой нет уже в новых версиях php. Чё делать? Правильно, надо исправить скрипт:

if (ereg("^[a-zA-Z0-9-_]{1,255}$", $mensaje))


Поменять на:


if (preg_match("/^[a-zA-Z0-9-_]{1,255}$/", $mensaje))


Всё одной ошибкой меньше, плюс скрипт улучшили.

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 8 in /home/пользователь/букс.рф/profilaction.php on line 4


Тут, короче, у нас ошибка с построением запроса, массивом, ну я так подумал. Решение в следующей ошибке.

Parse error: syntax error, unexpected ';' in /home/пользователь/букс.рф/sfbstat.php on line 89


К чему эта ошибка я понял. Где-то не стоят:

""


И вот там, в файле sfbstat.php переменная:

$refbirjcomm =;


К чему переменная без:

""


Я добавил их, но их тут же назад выбило. Я понял в чём дело, в файле sfb.php надо:

$refbirjcomm = {$refbirjcomm};n


Поменять на:

$refbirjcomm = "{$refbirjcomm};";n


Всё, скрипт начал нормально пахать. Вся проблема была тут в 1 ошибке в версии php, можно было просто попросить внести изменения на самом apache сервере:

"Перелопачиваясь" в php.ini я случайно наткнулся на решение. В общем, открываем файл настройки 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


Так что судите, комментируйте и главное материал будет тут первым и поисковики сразу проиндексируют.
скажем мне спасибо и + в репу.

Автор публикации

не в сети 4 месяца

ZKolyaNZ

Комментарии: 9Публикации: 19Регистрация: 22-03-2011

Понравилась статья? Поделись в соц. сетях:

Похожие новости

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

Авторизация
*
*
Регистрация
*
*
*
Генерация пароля