Вдруг кому поможет.
Было: PHP 5.4
В админке хостинга (nic.ru) Поменял на PHP 7.4 - сайт ожидаемо упал.
Требуется переход с MySQL на MySQLi (как я понят с PHP 7.0):
1. Открываем файл /bitrix/php_interface/dbconn.php и ищем стороку:
[COLOR=#9d0a0f]define("BX_USE_MYSQLI", true);[/COLOR]
Если такой в файле нет, добавляем. Если стоит значение false, ставим true.
2. В файле /bitrix/.settings.php находим параметр className
и проверяем чтобы было установлено правильное расширение:
[COLOR=#9d0a0f]'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',[/COLOR]
Ошибка поменялась в связи с тем, что "в php 7.4 изменилась работа функции get_declared_classes"
[COLOR=#9d0a0f][Error] [/COLOR]
[COLOR=#9d0a0f]Cannot instantiate abstract class Bitrix\Iblock\Component\Base (0)[/COLOR]
Решил просто - переключил PHP на 7.2
Заработало.
Как результат поднял PHP с 5.4 до 7.2. Пока достаточно.
Было: PHP 5.4
В админке хостинга (nic.ru) Поменял на PHP 7.4 - сайт ожидаемо упал.
Требуется переход с MySQL на MySQLi (как я понят с PHP 7.0):
1. Открываем файл /bitrix/php_interface/dbconn.php и ищем стороку:
[COLOR=#9d0a0f]define("BX_USE_MYSQLI", true);[/COLOR]
Если такой в файле нет, добавляем. Если стоит значение false, ставим true.
2. В файле /bitrix/.settings.php находим параметр className
и проверяем чтобы было установлено правильное расширение:
[COLOR=#9d0a0f]'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',[/COLOR]
Ошибка поменялась в связи с тем, что "в php 7.4 изменилась работа функции get_declared_classes"
[COLOR=#9d0a0f][Error] [/COLOR]
[COLOR=#9d0a0f]Cannot instantiate abstract class Bitrix\Iblock\Component\Base (0)[/COLOR]
Решил просто - переключил PHP на 7.2
Заработало.
Как результат поднял PHP с 5.4 до 7.2. Пока достаточно.