create_function() is deprecated in mod_virtuemart_param_filter.php

  • В этой теме 6 ответов, 2 участника, последнее обновление 17.04.2020 в 19:54 сделано easports.
Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Автор
    Сообщения
  • #120793

    easports
    Участник
    • Сообщений: 4

    Всем привет. Не могу понять, как решить проблему. Запустил магазин на шаблоне airshop. После перехода на PHP 7.4 стала вылетать ошибка над фильтром, в которой написано
    Deprecated: Function create_function() is deprecated in /home/virtwww/w_mamanail1_cf07a444/http/modules/mod_virtuemart_param_filter/mod_virtuemart_param_filter.php on line 77
    1. Показ ошибок отключен, однако, это никак не мешает ей появиться.
    2. Всё работает. По крайней мере, не заметил ничего необычного.
    3. Внутри файла на 77 строчке (да и вообще, в целом, во всей папке с модулем) никаких намеков на функцию create_function().
    Я уже не знаю куда копать. Может есть кто сталкивался и решил подобное. Или может хотя бы предположения есть, откуда это могло взяться.
    Если опустить PHP до 7.1, ошибка не появляется, но на 7.1 возникают другие проблемы. На 7.4 все хорошо кроме этой штуки.

    Вложения:
    Вы должны войти для просмотра вложений.
    #120797
    admin
    admin
    Хранитель
    • Сообщений: 13609

    Функция create_function является устаревшей, начиная с php 7.2
    Попробуйте в /administrator/components/com_virtuemart/helpers/vmfilter.php заменить
    $t = str_replace(' (<\w[^>]*(?)\s+', '\s+', '(<\w[^>]*(?)'), array(' $1', ' ', '$1'), preg_replace_callback(array('(<(!\[CDATA\[))(.+?)(\]\]>)sm', '(<(!--))(.+?)(-->)sm', '(<(pre|script|textarea)[^>]*?>)(.+?)()`sm'), create_function('$m', 'return $m[1]. str_replace(array("<", ">", "\n", "\r", "\t", " "), array("\x01", "\x02", "\x03", "\x04", "\x05", "\x07"), $m[3]). $m[4];'), $t)));

    На

    sm’), $callback, $t)));

    #120800

    easports
    Участник
    • Сообщений: 4

    Заменил.
    К сожалению, никаких изменений, ни в лучшую, ни в худшую сторону 🙁
    Ошибка осталась та же с тем же текстом.

    #120802
    admin
    admin
    Хранитель
    • Сообщений: 13609

    Поищите поиском по всем файлам функцию create_function и замените ее, как указано в этой статье.

    #120806

    easports
    Участник
    • Сообщений: 4

    Очередной прикол. Скачал архив файлов всего сайта. Запустил поиск по create_function. Нашлось 9 файлов. Все файлы открыл, закомментировал строчки с create_function, сохранил, обновил страницу – эффекта ноль. Ничего не поменялось. И даже ничего не сломалось. Ошибка та же. Может файлы в кэше сидят и мои правки не применяются на сервере сразу?

    #120814
    admin
    admin
    Хранитель
    • Сообщений: 13609

    Точно не могу сказать.
    Может быть будет проще решить проблемы с php 7.1, а со временем выйдет новая версия vm с поддержкой 7.4.

    #120826

    easports
    Участник
    • Сообщений: 4

    понял. что ж. ладно. спасибо за попытку помочь 🙁

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)

Для ответа в этой теме необходимо авторизоваться.

С 15-18 июня admin в отпуске.

Ответы на все вопросы и ссылки на товары будут присланы 19 июня.

Спасибо за понимание и хороших выходных.

×