Devilz_1
@Devilz_1
Frontend-Developer

Ошибка при переносе сайта на Bitrix (Call to undefined function mysqli_init()), как избавиться?

Всем привет. Перенёс сайт на ВМ Centos 7.
Набор джентльмена: apache, php, mysql.

Запустил файл restore.php развернул бэкап, отдельно развернул дамп в бд. Захожу на сайт, получаю:

Call to undefined function mysqli_init() (0)
/var/www/html/roll-express.com/bitrix/modules/main/lib/db/mysqliconnection.php:48
#0: Bitrix\Main\DB\MysqliConnection->connectInternal()
	/var/www/html/roll-express.com/bitrix/modules/main/lib/db/mysqliconnection.php:122
#1: Bitrix\Main\DB\MysqliConnection->queryInternal(string, array, NULL)
	/var/www/html/roll-express.com/bitrix/modules/main/lib/db/connection.php:330
#2: Bitrix\Main\DB\Connection->query(string)
	/var/www/html/roll-express.com/bitrix/modules/main/lib/config/option.php:226
#3: Bitrix\Main\Config\Option::load(string, NULL)
	/var/www/html/roll-express.com/bitrix/modules/main/lib/config/option.php:53
#4: Bitrix\Main\Config\Option::get(string, string, string)
	/var/www/html/roll-express.com/bitrix/modules/main/lib/httprequest.php:392
#5: Bitrix\Main\HttpRequest->prepareCookie(array)
	/var/www/html/roll-express.com/bitrix/modules/main/lib/httprequest.php:69
#6: Bitrix\Main\HttpRequest->__construct(object, array, array, array, array)
	/var/www/html/roll-express.com/bitrix/modules/main/lib/httpapplication.php:46
#7: Bitrix\Main\HttpApplication->initializeContext(array)
	/var/www/html/roll-express.com/bitrix/modules/main/lib/application.php:122
#8: Bitrix\Main\Application->initializeExtendedKernel(array)
	/var/www/html/roll-express.com/bitrix/modules/main/include.php:23
#9: require_once(string)
	/var/www/html/roll-express.com/bitrix/modules/main/include/prolog_before.php:14
#10: require_once(string)
	/var/www/html/roll-express.com/bitrix/modules/main/include/prolog.php:10
#11: require_once(string)
	/var/www/html/roll-express.com/bitrix/header.php:1
#12: require(string)
	/var/www/html/roll-express.com/404.php:7
#13: include_once(string)
	/var/www/html/roll-express.com/bitrix/urlrewrite.php:4


Следуя тому, что выдал гугль, в файле /bitrix/php_interface/dbconn.php добавил константу define("BX_USE_MYSQLI", false), а в файле /bitrix/.settings.php изменил '\\Bitrix\\Main\\DB\\MysqlConnection' на '\\Bitrix\\Main\\DB\\MysqliConnection'. Ошибка всё равно остаётся.

Были рекомендации
1) раскомментировать в php.ini строку "extension=php_mysqli.dll", но у меня её нет.
2) по пути "/etc/php.d/" создать файл "30-mysqli.ini" и добавить туда строку "extension=mysqli.so". Ошибка осталась. Я понять не могу, почему ошибка сохраняется.

phpinfo() отрабатывает хорошо.
Подскажите, в какую сторону можно ещё копнуть?)
  • Вопрос задан
  • 2401 просмотр
Решения вопроса 1
irishmann
@irishmann
Научись пользоваться дебаггером
Установи расширение mysqli
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
PhpInfo, "отрабатывая хорошо", что показывает насчет наличия расширения mysqli?

в файле /bitrix/php_interface/dbconn.php добавил константу define("BX_USE_MYSQLI", false), а в файле /bitrix/.settings.php изменил '\\Bitrix\\Main\\DB\\MysqlConnection' на '\\Bitrix\\Main\\DB\\MysqliConnection'.

То есть выключил использование MySqli и стал его использовать. Логично...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы