Помощь Ошибки opencart и их решения.

wisma

Создатель
Регистрация
18 Апр 2013
Сообщения
23
Реакции
1
Прошу писать сразу ошибки с логов и писать их решения, так-же где и почему возникает.
Поднимем гуглу статистику а людям нервы.
И так начнем. Шаблон unishop2. Форма Быстрой покупки (заказ в 1 клик, кнопка под кнопкой купить)
При заказе у клиента вылазит pop-up окно с ошибков примерно такой (в гугле много инфы, но решения не понятные:(

<b>Unknown</b>: filter_var:)( explicit use of FILTER_FLAG_SCHEME_REQUIRED
Вот скрин ошибки и ее поведение, так-же и в корзине происходит:
errorjson.jpg
и дальше по скиску, в логах вот это (5 заказов делал и 5 ошибок, искал причину:(
p.s. правда я не уверен что дело в шаблоне, может в каком-то модуле взятого с нашего любимого форума, где автор занулил но не проверил.

Код:
2023-05-25 10:34:08 - PHP Unknown:  filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated in /var/www/*****/system/library/phpmailer/PHPMailer.php on line 3581
2023-05-25 10:34:09 - PHP Unknown:  filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated in /var/www/*****/system/library/phpmailer/PHPMailer.php on line 3581
2023-05-25 10:34:59 - PHP Unknown:  filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated in /var/www/*****/system/library/phpmailer/PHPMailer.php on line 3581
2023-05-25 10:35:00 - PHP Unknown:  filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated in /var/www/*****/system/library/phpmailer/PHPMailer.php on line 3581
2023-05-25 10:43:02 - PHP Unknown:  filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated in /var/www/*****/system/library/phpmailer/PHPMailer.php on line 3581
2023-05-25 10:43:03 - PHP Unknown:  filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated in /var/www/*****/system/library/phpmailer/PHPMailer.php on line 3581
И так решение задачи:
Открываем файлик и спускаемся к строке 3581
system/library/phpmailer/PHPMailer.php on line 3581
Там у нас есть вот такой код:

Код:
if (filter_var('http://' . $host, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED)) {
Нужно заменить на:
Код:
if (filter_var('http://' . $host)) {

Обьясню кратко:
Переменные FILTER_VALIDATE_URL и FILTER_FLAG_HOST_REQUIRED работают только для пхп 7,2- (могу ошибатся), а у меня осторе не поддерживает это, минимум пхп 7.3. Поэтому проверка которые он хочет не может работать с Json, нам просто нужно убрать эту проверку.
p.s. в админке тоже есть приколы с этим, дополню пост как найду где изменить, так как в логах пусто.
 
А почта настроена? Сообщения отправляются? Нет блокировки отправки почты на уровне хостера?
Да, и клиентам уходит при любых формах, и админу уходит при любых формах. Но я допольнительно использую Pro Email Template
 
Назад
Сверху