Тема: Как убрать ошибку?

Всем дарова!

Хочу спросить, как снять ошибку выбивающаяся в теме?

Ошибка - Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/u354188049/public_html/include/parser.php on line 791

Поделиться

2

Re: Как убрать ошибку?

mrDraikingSharKKK, поиском по форуму пользуемся.

Про эту ошибку уже наверное более 10 тем написано.

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

Re: Как убрать ошибку?

Visman пишет:

mrDraikingSharKKK, поиском по форуму пользуемся.

Про эту ошибку уже наверное более 10 тем написано.

Можешь скинуть тому кто в танке? smile

Поделиться

4

Re: Как убрать ошибку?

Надо найти в файле и строке, которые названы в сообщении, устаревшую функцию preg_replace() и заменить её на современную.
Это можно сделать любым текстовым редактором, который может сохранять файл как текст в нужной кодировке.
Подробнее про это можно узнать из поиска по словам preg_replace и Deprecated

Мой хостер с 11.07.2008 года. Было и хорошее и не совсем, но менять не собираюсь

Поделиться

5

Re: Как убрать ошибку?

Нужно обновиться до 1.4.4

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

6

Re: Как убрать ошибку?

hcs, я тоже в логах нашел,аж на 1.2 гига лог ошибок ....  обновился, но ее пишет как писал.
Requires argument 2, '', to be a valid callback parser.php on line 811
Подскажи что подкрутить если не затруднит, не хочется мне своей лопоухой головой что-то накосячить.

Добавлено спустя 5 минут 22 секунды:

вот эта строка

$text = preg_replace_callback($pattern[$i], create_function('$matches', 'return "'.$replace[$i].'";'), $text);

Правильно делаю?

$text = $replace_callback($pattern[$i], create_function('$matches', 'return "'.$replace[$i].'";'), $text);

Поделиться

7 (04.11.2015 23:27 отредактировано Visman)

Re: Как убрать ошибку?

bibishnik, обновить нужно не только движок до 1.4.4, но и расширения добавляющие бб-коды.


А это

$text = $replace_callback($pattern[$i], create_function('$matches', 'return "'.$replace[$i].'";'), $text);

бред!

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

8

Re: Как убрать ошибку?

Visman, да я понял, яж ландух полный. У меня парсер от старой версии переписан по материалам этого форума, придется новый ставить....  пошел переписывать новый smile

Добавлено спустя 3 минуты 42 секунды:

Не помог кстати, как писал ошибку в лог так и пишет... 1.4.4

Добавлено спустя 4 минуты 41 секунду:

Подсказал бы кто ....

Добавлено спустя 43 минуты 23 секунды:

echo "<pre>\n";
var_dump($pattern);
echo "</pre>\n";
exit();
    $count = count($pattern);
    for ($i = 0; $i < $count; $i++) {
        $text = preg_replace_callback($pattern[$i], create_function('$matches', 'return "'.$replace[$i].'";'), $text);
    }

В итоге

Сообщений 2

array(11) {
  [0]=>
  string(20) "#\[b\](.*?)\[/b\]#ms"
  [1]=>
  string(20) "#\[i\](.*?)\[/i\]#ms"
  [2]=>
  string(20) "#\[u\](.*?)\[/u\]#ms"
  [3]=>
  string(82) "#\[colou?r=([a-zA-Z]{3,20}|\#[0-9a-fA-F]{6}|\#[0-9a-fA-F]{3})](.*?)\[/colou?r\]#ms"
  [4]=>
  string(20) "#\[h\](.*?)\[/h\]#ms"
  [5]=>
  string(43) "#\[img\]((ht|f)tps?://)([^\s<"]*?)\[/img\]#"
  [6]=>
  string(53) "#\[img=([^\[]*?)\]((ht|f)tps?://)([^\s<"]*?)\[/img\]#"
  [7]=>
  string(30) "#\[email\]([^\[]*?)\[/email\]#"
  [8]=>
  string(36) "#\[email=([^\[]+?)\](.*?)\[/email\]#"
  [9]=>
  string(20) "#\[s\](.*?)\[/s\]#ms"
  [10]=>

Поделиться

9

Re: Как убрать ошибку?

bibishnik, нет тут в регулярках модификатора /e, не может такой ошибки выводиться.

З.Ы. Вероятно не все регулярки в сообщении показаны!

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

10

Re: Как убрать ошибку?

Я так и не смог избавиться от ошибки.. в логах пишет на эту строку

$text = preg_replace_callback($pattern[$i], create_function('$matches', 'return "'.$replace[$i].'";'), $text);

Все полностью обновлено. Единственное css стиля изменен, но он тут точно не причем.

Добавлено спустя 7 минут 42 секунды:

Плохо конечно, что у этого движка нет поддержки разработчиками...

Поделиться

11

Re: Как убрать ошибку?

bibishnik, полностью покажи вот этот массив

array(11) {
  [0]=>
  string(20) "#\[b\](.*?)\[/b\]#ms"
  [1]=>
  string(20) "#\[i\](.*?)\[/i\]#ms"
  [2]=>
  string(20) "#\[u\](.*?)\[/u\]#ms"
  [3]=>
  string(82) "#\[colou?r=([a-zA-Z]{3,20}|\#[0-9a-fA-F]{6}|\#[0-9a-fA-F]{3})](.*?)\[/colou?r\]#ms"
  [4]=>
  string(20) "#\[h\](.*?)\[/h\]#ms"
  [5]=>
  string(43) "#\[img\]((ht|f)tps?://)([^\s<"]*?)\[/img\]#"
  [6]=>
  string(53) "#\[img=([^\[]*?)\]((ht|f)tps?://)([^\s<"]*?)\[/img\]#"
  [7]=>
  string(30) "#\[email\]([^\[]*?)\[/email\]#"
  [8]=>
  string(36) "#\[email=([^\[]+?)\](.*?)\[/email\]#"
  [9]=>
  string(20) "#\[s\](.*?)\[/s\]#ms"
  [10]=>

В предыдущем сообщение он не полон!

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

12

Re: Как убрать ошибку?

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

Добавлено спустя 2 минуты 44 секунды:

В настоящее время все файлы стоят из упаковки 1.4.4

Добавлено спустя 3 минуты 43 секунды:

Хостер посмотрел, отправил к разработчикам....    круг замкнулся.

Добавлено спустя 18 минут 30 секунд:

Вот тут тебя читал http://punbb.informer.com/forums/post/155126/#p155126

Добавлено спустя 23 минуты 10 секунд:

Это ошибка из-за какого-то расширения?

Добавлено спустя 43 минуты 43 секунды:

Ничего не помогает, версию php менял, расширения отключал ..  сейчас 5.5 стоит

  PHP Warning:  preg_replace_callback(): Requires argument 2, '', to be a valid callback in /forum/include/parser.php on line 813
[07-Nov-2015 18:31:16 Europe/Moscow] PHP Parse error:  syntax error, unexpected 'lastedit' (T_STRING) in /forum/include/parser.php(813) : runtime-created function on line 1

Поделиться

13

Re: Как убрать ошибку?

Отключи пока варнинги, мы разберемся с парсером.

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

14

Re: Как убрать ошибку?

hcs, ок, так и сделал.  Спасибо, что обращаете внимание на ландухов. Но я бы не рюхнулся если бы не перепробовал все на что моя голова способна и все что тут предлагалось.

Поделиться

15

Re: Как убрать ошибку?

>Это ошибка из-за какого-то расширения?
bibishnik, с очень большой долей вероятности, да.
Отключай по одному расширения (не удаляй, а отключай) и проверяй вывод ошибки каждый раз. Так определится расширение с ошибкой.

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

16

Re: Как убрать ошибку?

А вот кстати, попробуй закомментировать строки
748

$return = ($hook = get_hook('ps_do_bbcode_start')) ? eval($hook) : null;

и
805

$return = ($hook = get_hook('ps_do_bbcode_replace')) ? eval($hook) : null;

либо вообще отключить хуки в конфиге,  включи отображение ошибок. Если работает без ошибок  - 100% какое-то расширение

Захочешь — найдешь время, не захочешь — найдешь причину.

Поделиться

17

Re: Как убрать ошибку?

Попробую и пошаговое отключение и закомментить - отпишусь.

Поделиться

18

Re: Как убрать ошибку?

Просто обновись!

THEMES

Сайт TheDenchik

Поделиться

19

Re: Как убрать ошибку?

Файл config.php
Куда-нибудь это воткни:

ini_set('display_errors', 0); 
THEMES

Сайт TheDenchik

Поделиться

20

Re: Как убрать ошибку?

hcs,
Сейчас в основном сыплются
PHP Parse error:  syntax error, unexpected 'lastedit' (T_STRING) in
PHP Strict Standards:  Non-static method Reputation_Hook_Dispatcher::vt_row_pre_display() should not be called statically in

Поделиться

21

Re: Как убрать ошибку?

bibishnik пишет:

PHP Strict Standards:  Non-static method Reputation_Hook_Dispatcher::vt_row_pre_display() should not be called statically in

Читать с этого сообщения Вопросы новичков

bibishnik пишет:

PHP Parse error:  syntax error, unexpected 'lastedit' (T_STRING) in

Полное сообщение какое?

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

22

Re: Как убрать ошибку?

hcs, Visman,
Некогда было разбираться детально, постараюсь в выходные пошагово... начну с отключения всего, проверки, потом по одному повключаю и буду смотреть логи. Отпишусь.

Добавлено спустя 1 минуту 19 секунд:

Еще подскажите, версию php какую лучше включить перед тестированием?  есть и 5.5 и 7 тоже

Поделиться

23

Re: Как убрать ошибку?

В основном идет ругань на парсер 811 строку

 $text = preg_replace_callback($pattern[$i], create_function('$matches', 'return "'.$replace[$i].'";'), $text);

Добавлено спустя 23 минуты 30 секунд:

Сделал все как рекомендовали, осталась одна вроде ошибка в reputation.php 128 строка

'VALUES'        => '\''.$target['poster_id'].'\', '.$from_user_id.', '.mktime().', '.$target['id'].', \''.App::$forum_db-

Пишет :

PHP Strict Standards:  mktime(): You should be using the time() function instead in

Добавлено спустя 28 минут 3 секунды:

Visman, сделал, плюсы-минусы кнопки у репутации пропали smile

Поделиться

24

Re: Как убрать ошибку?

bibishnik пишет:

PHP Strict Standards:  mktime(): You should be using the time() function instead in

mktime()

следует заменить на

time()

в данной строке.

bibishnik пишет:

сделал, плюсы-минусы кнопки у репутации пропали

Что именно сделал? Файл после изменений можно увидеть? Какие ошибки появились в логах ошибок сервера раз репутация пропала?

Моя сборка FluxBB 1.5 * Parserus - BBCode parser

Поделиться

25

Re: Как убрать ошибку?

Visman, извиняюсь, плюсы-минусы на месте, видимо уже засыпал и прозевал глядя на свой профиль smile  По подсказкам спасибо, сделал как ты сказал, но mktime() пока не трогал...   Сейчас варнинги включу на пару суток, еще половлю ошибки, но вроде на данный момент все ок.    Закомментил две строки как рекомендовал hcs и исправил расширение перейдя к рекомендациям по твоей ссылке..   Пока вроде все оки-чпоки!

Поделиться