Ошибка в Opencart vqmod Error: PHP Unknown: preg_replace()

Ошибка в Opencart vqmod Error: PHP Unknown: preg_replace (): The /e modifier is deprecated, use preg_replace_callback instead in [Решено]

Вчера переносили Интернет магазин на CMS Opencart на другой хостинг и у заказчика появилась ошибка:
Вот что находилось в данной строчке: $modFilePath = preg_replace('/([^*]+)/e', 'preg_quote("$1", "~")', $modFilePath); В этой небольшой статье дизайн студия «Движок» покажем как это исправить и сделать так что бы ошибка была исправлена.

Нужно октрыть файл: /vqmod/vqmod.php

Найти:

private function _checkMatch($modFilePath, $checkFilePath) {
$modFilePath = str_replace('\\', '/', $modFilePath);
$checkFilePath = str_replace('\\', '/', $checkFilePath);
$modFilePath = preg_replace('/([^*]+)/e', 'preg_quote("$1", "~")', $modFilePath);
$modFilePath = str_replace('*', '[^/]*', $modFilePath);
$return = (bool) preg_match('~^' . $modFilePath . '$~', $checkFilePath);
return $return;
}
}

Заменить:

private function _checkMatch($modFilePath, $checkFilePath) {
$modFilePath = str_replace('\\', '/', $modFilePath);
$checkFilePath = str_replace('\\', '/', $checkFilePath);
$modFilePath = preg_replace_callback('/([^*]+)/', create_function('$matches','return preg_quote("$matches[0]", "~");'), $modFilePath);
$modFilePath = str_replace('*', '[^/]*', $modFilePath);
$return = (bool) preg_match('~^' . $modFilePath . '$~', $checkFilePath);
return $return;
}
}

Вот и все, если Вы хотите «поблагодарить» наше IT сообщество — у вас есть такая возможность: справа есть варианты для пожертвований на развитие портала. Или поделитесь статьей в ваших соц.сетях через сервис ниже.

Отправить ответ

Please Login to comment
Войти с помощью: 
  Subscribe  
Notify of
Authorization
*
*
Войти с помощью: 
Registration
*
*
*
Войти с помощью: 

one × 4 =

Password generation