Кеширование

InstantCMS 2.X
#1 12 января 2026 в 16:13

Версия 2.17.3

При подключении Redis периодически при переходе на главную страницу сайта вылазит такая ошибка
Fatal error: Uncaught Error: mysqli object is already closed in /home/o/oneinm0e/site.ru/public_html/system/core/database.php:374 Stack trace: #0 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(374): mysqli->query('SELECT @@autoco...') #1 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(88): cmsDatabase->isAutocommitOn() #2 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(1174): cmsDatabase->__destruct() #3 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(207): cmsCore->runWidgets() #4 /home/o/oneinm0e/site.ru/public_html/index.php(28): cmsCore->runHttp('/') #5 {main} thrown in /home/o/oneinm0e/site.ru/public_html/system/core/database.php on line 374

При подключении кеширования, через Files 

Fatal error: Uncaught Error: mysqli object is already closed in /home/o/oneinm0e/site.ru/public_html/system/core/database.php:374 Stack trace: #0 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(374): mysqli->query('SELECT @@autoco...') #1 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(88): cmsDatabase->isAutocommitOn() #2 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(1174): cmsDatabase->__destruct() #3 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(207): cmsCore->runWidgets() #4 /home/o/oneinm0e/site.ru/public_html/index.php(28): cmsCore->runHttp('/') #5 {main} thrown in /home/o/oneinm0e/site.ru/public_html/system/core/database.php on line 374

#2 12 января 2026 в 16:43

Это из за настроек MYSQL. Загуглите autocommit или в настройках посмотрите и поменяйте значение.

[mysqld]
autocommit=0

#3 12 января 2026 в 16:46
Это из за настроек MYSQL. Загуглите autocommit или в настройках посмотрите и поменяйте значение. [mysqld]autocommit=0
Lora

Спасибо, это в настройках mysql?

Сегодня в 19:35
#4 12 января 2026 в 18:59

Да

#5 13 января 2026 в 08:57

Изображение

Изображение

Добавлено спустя 13 часов
Это из за настроек MYSQL. Загуглите autocommit или в настройках посмотрите и поменяйте значение. [mysqld]autocommit=0
Lora

это не помогло

#6 14 января 2026 в 08:58

Fuze, что скажете ?

#7 14 января 2026 в 11:17

 TOPg, а у вас «Включить режим пустого sql_mode для MySQL» включена в админке? Не уверен, что дело в этом, но на всякий пожарный проверьте. Так же может быть проблема из за версии php. Вернее настроек. Попробуйте поменять. Если 8.х поменяйте на 7.х или наоборот. Но в любом случае это проблема настроек сервера, имхо.

#8 14 января 2026 в 11:42
 TOPg, а у вас «Включить режим пустого sql_mode для MySQL» включена в админке? Не уверен, что дело в этом, но на всякий пожарный проверьте. Так же может быть проблема из за версии php.
Lora

Включен режим пустого sql_mode для MySQL. Версия PHP 8.2
Отключил sql_mode и также попробовал php 7.3
Ошибки те же
Нейронки тоже говорят:

При включенном кешировании (особенно Redis) InstantCMS может завершать работу скрипта быстрее, освобождая ресурсы. В какой-то момент:

Соединение с БД закрывается ядром CMS или расширением PHP
Но деструктор cmsDatabase вызывается позже (при сборке мусора PHP)
Деструктор пытается использовать уже уничтоженный объект
Это баг в логике InstantCMS 2.17.3, который проявляется только при определенных условиях (включенное кеширование, определенная конфигурация сервера).

#9 14 января 2026 в 12:02

Это баг в логике InstantCMS 2.17.3, который проявляется только при определенных условиях (включенное кеширование, определенная конфигурация сервера)

TOPg

Наврятли. Это баг настройки сервера(хостинга). Баг то только у вас).

Добавлено спустя 5 минут

У вас сервер или хостинг? Нужно логи смотреть. Возможно просто скорость выполнения скриптов маленькая и поэтому запрос не успевает отработать.

#10 14 января 2026 в 12:06
Это баг в логике InstantCMS 2.17.3, который проявляется только при определенных условиях (включенное кеширование, определенная конфигурация сервера) TOPg Наврятли.
Lora

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

Лог:
[Mon Jan 12 16:09:00 2026] [error] [client 212.44.158.202:0] PHP Fatal error:  Uncaught Error: mysqli object is already closed in /home/o/oneinm0e/site.ru/public_html/system/core/database.php:374\nStack trace:\n#0 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(374): mysqli->query('SELECT @@autoco...')\n#1 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(88): cmsDatabase->isAutocommitOn()\n#2 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(1174): cmsDatabase->__destruct()\n#3 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(207): cmsCore->runWidgets()\n#4 /home/o/oneinm0e/site.ru/public_html/index.php(28): cmsCore->runHttp('/')\n#5 {main}\n  thrown in /home/o/oneinm0e/site.ru/public_html/system/core/database.php on line 374, referer site.ru/board/internet-magazin-elektroniki.html
[Mon Jan 12 16:09:35 2026] [error] [client 212.44.158.202:0] PHP Fatal error:  Uncaught Error: mysqli object is already closed in /home/o/oneinm0e/site.ru/public_html/system/core/database.php:374\nStack trace:\n#0 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(374): mysqli->query('SELECT @@autoco...')\n#1 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(88): cmsDatabase->isAutocommitOn()\n#2 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(1174): cmsDatabase->__destruct()\n#3 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(207): cmsCore->runWidgets()\n#4 /home/o/oneinm0e/site.ru/public_html/index.php(28): cmsCore->runHttp('/')\n#5 {main}\n  thrown in /home/o/oneinm0e/site.ru/public_html/system/core/database.php on line 374, referer site.ru/board/internet-magazin-elektroniki.html
[Mon Jan 12 16:09:36 2026] [error] [client 212.44.158.202:0] PHP Fatal error:  Uncaught Error: mysqli object is already closed in /home/o/oneinm0e/site.ru/public_html/system/core/database.php:374\nStack trace:\n#0 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(374): mysqli->query('SELECT @@autoco...')\n#1 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(88): cmsDatabase->isAutocommitOn()\n#2 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(1174): cmsDatabase->__destruct()\n#3 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(207): cmsCore->runWidgets()\n#4 /home/o/oneinm0e/site.ru/public_html/index.php(28): cmsCore->runHttp('/')\n#5 {main}\n  thrown in /home/o/oneinm0e/site.ru/public_html/system/core/database.php on line 374, referer site.ru/board/internet-magazin-elektroniki.html
[Mon Jan 12 16:09:47 2026] [error] [client 212.44.158.202:0] PHP Fatal error:  Uncaught Error: mysqli object is already closed in /home/o/oneinm0e/site.ru/public_html/system/core/database.php:374\nStack trace:\n#0 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(374): mysqli->query('SELECT @@autoco...')\n#1 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(88): cmsDatabase->isAutocommitOn()\n#2 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(1174): cmsDatabase->__destruct()\n#3 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(207): cmsCore->runWidgets()\n#4 /home/o/oneinm0e/site.ru/public_html/index.php(28): cmsCore->runHttp('/')\n#5 {main}\n  thrown in /home/o/oneinm0e/site.ru/public_html/system/core/database.php on line 374, referer site.ru/board/internet-magazin-elektroniki.html
[Mon Jan 12 16:10:04 2026] [error] [client 212.44.158.202:0] PHP Fatal error:  Uncaught Error: mysqli object is already closed in /home/o/oneinm0e/site.ru/public_html/system/core/database.php:374\nStack trace:\n#0 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(374): mysqli->query('SELECT @@autoco...')\n#1 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(88): cmsDatabase->isAutocommitOn()\n#2 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(1174): cmsDatabase->__destruct()\n#3 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(207): cmsCore->runWidgets()\n#4 /home/o/oneinm0e/site.ru/public_html/index.php(28): cmsCore->runHttp('/')\n#5 {main}\n  thrown in /home/o/oneinm0e/site.ru/public_html/system/core/database.php on line 374, referer site.ru/users/275
[Mon Jan 12 16:10:06 2026] [error] [client 212.44.158.202:0] PHP Fatal error:  Uncaught Error: mysqli object is already closed in /home/o/oneinm0e/site.ru/public_html/system/core/database.php:374\nStack trace:\n#0 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(374): mysqli->query('SELECT @@autoco...')\n#1 /home/o/oneinm0e/site.ru/public_html/system/core/database.php(88): cmsDatabase->isAutocommitOn()\n#2 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(1174): cmsDatabase->__destruct()\n#3 /home/o/oneinm0e/site.ru/public_html/system/core/core.php(207): cmsCore->runWidgets()\n#4 /home/o/oneinm0e/site.ru/public_html/index.php(28): cmsCore->runHttp('/')\n#5 {main}\n  thrown in /home/o/oneinm0e/site.ru/public_html/system/core/database.php on line 374, referer site.ru/users/275

#11 14 января 2026 в 12:27

Не знаю, проблема только у меня или нет, но никто не отписался, что полёт нормальный

TOPg

Лично у меня никогда не было такой ошибки. Начиная с 1.10.х Правда Redis не использовал, но у вас и с Files проблемы, насколько я понял. Попробуйте отключить Redis вообще. Если есть такая возможность. Перезапустите хостинг и посмотрите что получится.

#12 14 января 2026 в 12:34

ну это то часть, например работает
Изображение

Добавлено спустя 2 минуты

Отключил redis на хостинге, сделал ребут, включил кеширование на сайте через Files — ошибка та же

#13 14 января 2026 в 12:41

Ошибка только на главной? А что у вас на главной? Попробуйте найти какой именно запрос вызывает ошибку. Можно отключить все виджеты и компоненты на главной и включать по очереди.

#14 14 января 2026 в 12:47
Ошибка только на главной? А что у вас на главной? Попробуйте найти какой именно запрос вызывает ошибку. Можно отключить все виджеты и компоненты на главной и включать по очереди.
Lora

попробовал, перебрал виджеты, не помогло. Да только на главной

#15 14 января 2026 в 13:10

попробовал, перебрал виджеты, не помогло

TOPg

То есть при пустой главной всё равно ошибка?

Добавлено спустя 6 минут

autocommit=0?

Добавлено спустя 2 минуты

Кеш почистили везде? В разных браузерах пробовали?

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

Похожее в блогах

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.