Ошибки при обновлении до 2.0.7

Автор sava, 17 марта 2014, 19:00:52

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

sava

Обновился с 2.0.2 до 2.0.7
Теперь лог забивается 2-мя ошибками:

1) Wrong parameter count for create_function()
line 476 file /.../forum/Sources/QueryString.php 

2) preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Requires argument 2, '', to be a valid callback
line 476 file /.../forum/Sources/QueryString.php 

Похоже, что при всех при всех операциях, включая работу с SSI. Хотя на работоспособность форума это вроде бы не влияет.

Насколько я понимаю одна ошибка основная, вторая наведенная. Происходит в строке:

$buffer = preg_replace_callback('~"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', create_function('global $scripturl; return \'"\' . $scripturl . \'/\' . strtr("$m[1]" . \'&;=\', \'//,\') . \'.html\' . (isset($m[2]) ? "$m[2]" : "");'), $buffer);

Но по какой причине неверно отрабатывает в данном случае create_function - не понимаю.

Кто нибудь сталкивался с подобным? Что можно попробовать в данном случае, кроме полной переустановки последней версии?

baf

У меня то же после обновления забивает лог следующим:
2: preg_replace_callback(): Requires argument 2, '', to be a valid callback
Применить фильтр: Отображать ошибки только этого файла
Файл: /var/www/clients/client16/web31/web/Sources/QueryString.php
Строка: 490

причем без разницы кто и что делает на форме, при каждом клике появляется 4-5 сообщений.
Сама фрагмент в файле выглядит так:
// Let's do something special for session ids!
if (defined('SID') && SID != '')
$buffer = preg_replace_callback('~"' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', create_function('$m', 'global $scripturl; return \'"\' . $scripturl . "/" . strtr("$m[1]", \'&;=\', \'//,\') . ".html?" . SID . (isset($m[2]) ? $m[2] : "") . \'"\';'), $buffer);
else
[color=red]ЭТО строка 490[/color] $buffer = preg_replace_callback('~"' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"~', create_function('global $scripturl; return \'"\' . $scripturl . \'/\' . strtr("$m[1]" . \'&;=\', \'//,\') . \'.html\' . (isset($m[2]) ? "$m[2]" : "");'), $buffer);
}

И на работу форума вроде бы то же не влияет. Как бы избавится от этих ненужных логов? Или это что-то важное?
Доброй души человек.

sava

Мне на официальном форуме посоветовали 2 вещи:
1) откатиться на 2.0.6, который вроде бы не использует preg_replace_callback()

или

2) Патчи 2.0.7 попробовать накатить не из tar.gz версиии, а из zip. Почему то они у них отличаются.

Весь патч я не трогал, заменил только QueryString.php.
Указанными выше ошибками лог забиваться перестал. При работе под админом все равно вылетает какая-то ошибка, на порядок реже. На работоспособность не влияет.

baf

#3
А как их накатить и где взять? Я скачал zip 2.0.7 но там не нашел патчей. Можно поподробнее пожалуйста?

В общем я тупо файл QueryString.php из архива кинул на хостинг и ошибкит в лог перестали падать. Это правильно? Что это за файлик вообще?
Доброй души человек.

GeorG

Цитата: baf от 07 апреля 2014, 12:07:21В общем я тупо файл QueryString.php из архива кинул на хостинг и ошибкит в лог перестали падать. Это правильно? Что это за файлик вообще?
Если моды делали какие-то изменения в этом файле, для своей работы, то в новом файле, этих изменений нет и моды могут работать неправильно :)
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru