Перейти к публикации

Ошибка отображения статических страниц после обновления на DLE 17.3


Рекомендованные сообщения

Приветствую.

Обновил сайт ( www.iv-service.ru ) встроенной системой обновления с 15.3 до 17.3

php 8.1 mysql 8.0

B если динамический контент работает правильно (категории и публикации), то при просмотре статических страниц сайт отображает ошибку:

Fatal error: Uncaught Exception: SafeMySQL: Illegal argument to a regular expression.. Full query: [SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.allow_comm, p.comm_num, p.fixed, p.allow_main, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.related_ids, e.view_edit, e.editdate, e.editor, e.reason, SUBSTRING_INDEX(SUBSTRING_INDEX(p.xfields, 'price|', -1 ) , '||', 1 ) as sort_xfield FROM `iveco_post` p LEFT JOIN `iveco_post_extras` e ON (p.id=e.news_id) WHERE approve AND category regexp "[[:<:]](16|95|96|97)[[:>:]]" AND id NOT IN (724,731) AND p.xfields regexp "[[:<:]](price-old)[[:>:]]" AND p.date < "2024-10-31 10:09:32" ORDER BY fixed ASC, CAST(sort_xfield AS DECIMAL(12,2)) ASC LIMIT 0, 10] in /home/i/ivservice/iv-service.ru/public_html/engine/modules/base/core/SafeMySQL.php:632 Stack trace: #0 /home/i/ivservice/iv-service.ru/public_html/engine/modules/base/core/SafeMySQL.php(492): SafeMySQL->error('SafeMySQL: Ille...') #1 /home/i/ivservice/iv-service.ru/public_html/engine/modules/base/core/SafeMySQL.php(291): SafeMySQL->rawQuery('SELECT p.id, p....') #2 /home/i/ivservice/iv-service.ru/public_html/engine/cache/system/plugins/dc4b9e960496f18c1ada8c7bd5b81cb3.php(915): SafeMySQL->getAll('SELECT ?p FROM ...', 'p.id, p.autor, ...', 'iveco_post', 'iveco_post_extr...', ' WHERE approve ...', 0, '10') #3 /home/i/ivservice/iv-service.ru/public_html/engine/modules/base/blockpro.php(22): include('/home/i/ivservi...') #4 /home/i/ivservice/iv-service.ru/public_html/engine/classes/templates.class.php(527): include('/home/i/ivservi...') #5 [internal function]: dle_template->load_file(Array) 

 

при этом из админки сами статические страницы редактируются и даже отображаются в режиме предпросмотра.

 

Ссылка на сообщение
Поделиться на других сайтах

Ошибка у вас потому что сам запрос к базе данных некорректный и не допустим для mysql 8.0. Но данных запросов нет в оригинальном DLE, этот запрос делает какой то ваш сторонний модуль или плагин. Поэтому вам нужно исправлять уже engine/modules/base/blockpro.php который делает этот запрос. Этот файл не имеет никакого отношения к оригинальному DLE.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за разъяснения.

плагины отключил полностью через админку сайта: Настройки системы - Оптимизация - Включить поддержку модуля 'Плагины'

в теории, ошибка должна исчезнуть, раз плагины неактивны. Но почему то это не происходит.

Буду обновлять указанный вами синтаксис.

 

Еще раз спасибо.

Просто удалил устаревший код из шаблона static.tpl в котором использовался устаревший код плагина blockpro.

для тех, кто сталкивался со схожей проблемой

пример кода:

{include file="engine/modules/base/blockpro.php?template=blockpro/short_cars&notPostId=724,731&catId=16,95,96,97&sort=xf|ivecomodel&xfSortType=string&order=old&showNav=y"}

 

 

Изменено пользователем alarmmotors
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...