VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Пытаюсь подружить шаблонизатор вб и новый php 8.4.
Проблема с сабжем.
И вот тут мне встретилось чудо. Ругается на то, что какое-то поле (product) не имеет значение по умолчанию. Думал, сейчас по-быстрому найду. Нифига.
Фрагмент лога
Code:
2025-10-10 16:36:16: (../lighttpd1.4/src/mod_fastcgi.c.444) FastCGI-stderr:PHP Fatal error: Uncaught mysqli_sql_exception: Field 'product' doesn't have a default value in /srv/http/vb3/includes/class_core.php:419
2025-10-10 16:36:16: (../lighttpd1.4/src/mod_fastcgi.c.444) FastCGI-stderr:Stack trace:
2025-10-10 16:36:16: (../lighttpd1.4/src/mod_fastcgi.c.444) FastCGI-stderr:#0 /srv/http/vb3/includes/class_core.php(419): mysqli_query()
2025-10-10 16:36:16: (../lighttpd1.4/src/mod_fastcgi.c.444) FastCGI-stderr:#1 /srv/http/vb3/includes/class_core.php(446): vB_Database->execute_query()
2025-10-10 16:36:16: (../lighttpd1.4/src/mod_fastcgi.c.444) FastCGI-stderr:#2 /srv/http/vb3/admincp/replacement.php(237): vB_Database->query_write()
2025-10-10 16:36:16: (../lighttpd1.4/src/mod_fastcgi.c.444) FastCGI-stderr:#3 {main}
2025-10-10 16:36:16: (../lighttpd1.4/src/mod_fastcgi.c.444) FastCGI-stderr: thrown in /srv/http/vb3/includes/class_core.php on line 419
В class_core этого быть в принципе не может, там тупо коннектор к БД. Я, естественно, полез в admincp/replacement, нахожу эту строчку:
И вот чего-то я этого поля не вижу. Откуда оно взялось? Как оно сюда подставилось? Чудеса какие-то.
Скрин:
QuQunta добавил 10.10.2025 в 14:44
Таки понял, в чём дело. Продукт был всё же. Так как там всегда при импорте подставляется продукт vbulletin, то пусть будет он как главный. Зато обнаружил другую проблему -- вот эти чудо-замены не видно, пока не сделать ребилд кэша стилей. Отсюда вопрос: почему это делается нормально в php 7.4, а в 8.4 сломано, и в логах об этом тишина?
Last edited by QuQunta : 10-10-2025 at 06:44 PM.
Reason: Добавлено сообщение
@QuQunta, в каждой более новой версии пхп добавляют новые эксепшены, а старые ворнинги переходят в разряд критических ошибок, это нормально.
@QuQunta
Знаток
Join Date: Jul 2023
Posts: 522
Версия vB: 3.8.4
Пол:
Reputation:
Knowing 200
Репутация в разделе: 116
0
@True, читай ниже отметки автосклейки:
я бы понял, если б в логах что-то было. Сейчас надо, видимо, брать шаманский бубен и искать место, где задаётся список с этим г*вном, либо выполнять принудительный ребилд стилей, что не спортивно и некрасиво.
И ведь это ещё не самый сложный этап. Как исправлю сохранение изменений и вот это - надо будет проверять работу системы плагинов. И что-то делать с инсталлятором, это уже после починки основы. Куча ворнингов, которые, в принципе, быстро чинятся, и одна депрекация, насколько помню, она вроде с динамическим присваиванием свойств классу связана, придётся делать колбасу из них
@True
Администратор
Join Date: Nov 2007
Награды в конкурсах:
Posts: 1,409
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 1398
Репутация в разделе: 585
2
@QuQunta, настрой свой пхп, чтобы писал ворнинги в лог.
@QuQunta
Знаток
Join Date: Jul 2023
Posts: 522
Версия vB: 3.8.4
Пол:
Reputation:
Knowing 200
Репутация в разделе: 116
0
@True, ну убрал скрытие депрекаций и вывел в отдельный лог. Одно и то же.
PHP Code:
Undefined array key "do" in /srv/http/vb3/admincp/template.php on line 20
Короче, надо шаманить
Да, плагины вроде не похерены. Надо стили и инсталлятор только чинить.
@True
Администратор
Join Date: Nov 2007
Награды в конкурсах:
Posts: 1,409
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 1398
Репутация в разделе: 585
2
@QuQunta, у тебя какая-то старая версия воблы, поставь 3.8.12, там всё сделано уже:
PHP Code:
if (isset($_POST['do'])) { if ($_POST['do'] == 'updatetemplate' OR $_POST['do'] == 'inserttemplate' OR $_REQUEST['do'] == 'createfiles') { // double output buffering does some weird things, so turn it off in these three cases DEFINE('NOZIP', 1); } }
@QuQunta
Знаток
Join Date: Jul 2023
Posts: 522
Версия vB: 3.8.4
Пол:
Reputation:
Knowing 200
Репутация в разделе: 116
0
@True, лог чище, но дело в чём-то другом. Что-то не работает до ребилда кэша стилей, потому реплейсмент не подцепляется.
Надо сравнить базу ДО и ПОСЛЕ, тогда будет понятно, что у нас не добавляется
------------
В кэше такого нет.
В стилях как будто бы изменений нет.
Но после ребилда всё магическим образом появляется
Last edited by QuQunta : 10-12-2025 at 01:59 PM.
@True
Администратор
Join Date: Nov 2007
Награды в конкурсах:
Posts: 1,409
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 1398
Репутация в разделе: 585
1
@QuQunta, скорее всего ломается на этапе того самого автоматического ребилда кэша, надо код в этом месте смотреть.
@QuQunta
Знаток
Join Date: Jul 2023
Posts: 522
Версия vB: 3.8.4
Пол:
Reputation:
Knowing 200
Репутация в разделе: 116
1
Quote:
Originally Posted by True
автоматического ребилда кэша
ага, спс, посмотрю.
@QuQunta
Знаток
Join Date: Jul 2023
Posts: 522
Версия vB: 3.8.4
Пол:
Reputation:
Knowing 200
Репутация в разделе: 116
0
Кто знает, какие у нас есть альтернативы
PHP Code:
build_all_styles(renum, install, url)
для ОДНОГО стиля?
Если такого нет, то я тупо пихаю эту функцию с аргументами (false, true, 'наш_урл страницы, где мы всё делаем') и спокойно перехожу к проверяльщику стилей на ошибки с незакрытыми IF-ами.