Ошибки в журнале сервера

Статус
В этой теме нельзя размещать новые ответы.

stimer

Проверенные
Сообщения
51
Реакции
0
Баллы
1,703
После переноса форума на xenforo 2 с булки. поставил плагин редиректа и все около месяца работало неплохо. Сейчас зашел в журанл и последние дни сыплются ошибки и редиректы не срабатывают. никаких изменений не проводилось, версия пхп так же не менялась:
Код:
ErrorException: [E_WARNING] array_filter() expects at most 2 parameters, 3 given
[*]/src/addons/XF301VB/Mvc/Router.php:330
[*]Сгенерирована пользователем: Неизвестная учётная запись
[*]18 Июн 2018 в 09:13
[/LIST]


#0 [internal function]: XF::handlePhpError(2, 'array_filter() ...', '.', 330, Array)#1 /src/addons/XF301VB/Mvc/Router.php(330): array_filter(Array, Object(Closure), 'ARRAY_FILTER_US...')#2 /src/addons/XF301VB/Mvc/Router.php(209): XF301VB\Mvc\Router->newRedirectRoute('showthread', Array)#3 /src/addons/XF301VB/Mvc/Router.php(110): XF301VB\Mvc\Router->getNonRewriteMatch('showthread.php', Object(XF\Http\Request))#4 /src/XF/Mvc/Dispatcher.php(51): XF301VB\Mvc\Router->routeToController('showthread.php', Object(XF\Http\Request))#5 /src/XF/Mvc/Dispatcher.php(40): XF\Mvc\Dispatcher->route('showthread.php')#6 /src/XF/App.php(1931): XF\Mvc\Dispatcher->run()#7 /src/XF.php(328): XF\App->run()#8 /forum/index.php(9): XF::runApp('XF301VB\Pub\App')#9 {main}
Содержимое запроса
array(4) {  ["url"] => string(30) "/forum/showthread.php?p=111"  ["referrer"] => bool(false)  ["_GET"] => array(1) {    ["p"] => string(6) "178432"  }  ["_POST"] => array(0) {  }}
И соответственно, если перейти вручную на старую страницу, видим ошибку, а не редирект:

Произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже.
 
Последнее редактирование модератором:
Код:
An exception occurred: [ErrorException] [E_NOTICE] Use of undefined constant ARRAY_FILTER_USE_KEY - assumed 'ARRAY_FILTER_USE_KEY' in link/src/addons/XF301VB/Mvc/Router.php on line 330

XF::handlePhpError() in link/src/addons/XF301VB/Mvc/Router.php at line 330
XF301VB\Mvc\Router->newRedirectRoute() in link/src/addons/XF301VB/Mvc/Router.php at line 209
XF301VB\Mvc\Router->getNonRewriteMatch() in link/src/addons/XF301VB/Mvc/Router.php at line 110
XF301VB\Mvc\Router->routeToController() in link/src/XF/Mvc/Dispatcher.php at line 51
XF\Mvc\Dispatcher->route() in link/src/XF/Mvc/Dispatcher.php at line 40
XF\Mvc\Dispatcher->run() in link/src/XF/App.php at line 1931
XF\App->run() in link/src/XF.php at line 328
XF::runApp() in old_link/index.php at line 9
 
stimer, нашел в интернете аналог array_filter с ключом
ARRAY_FILTER_USE_KEY

Перезалейте в папку Mvc/Router.php

Решение:
Код:
protected function newRedirectRoute($action, array $params)
    {
        $match = new RouteMatch();
        $match->setController('XF301VB:Redirect');
        $match->setAction($this->getMappedAction($action));
        $match->setParams($this->arrayFilterKey($params, function($key) { return is_string($key); }));

        return $match;
    }

    protected function arrayFilterKey(array $array, $callback)
    {
        $matchedKeys = array_filter(array_keys($array), $callback);
        return array_intersect_key($array, array_flip($matchedKeys));
    }
 

Вложения

  • Router.zip
    2.5 KB · Просмотры: 0
  • Мне нравится
Реакции: Hope
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу