Файлы dbconn.php и .settings.php
Битрикс - это довольно возрастная система, первая коммерческая версия которой вышла в 2003 году. Со временем Битрикс
быстро менялся, появлялись новые функции и способы программирования. Поэтому появилась такая ситуация, при которой в
битриксе оказалось несколько конфигурационных файлов. Из-за желания поддержки обратной совместимости, разработчики пока
не удаляют старый способ хранения настроек. Один из них dbconn.php
, а второй .settings.php
. В этих файлах
записывается данные для входа в базу и другие настройки сайта. Разберём их отдельно.
Файл dbconn.php
Это старый файл конфигурации. его можно найти по адресу /bitrix/php_interface/dbconn.php
. Приблизительное содержание
файла:
...
$DBType = "mysql";
$DBHost = "localhost";
$DBLogin = "user_name";
$DBPassword = "pass";
$DBName = "db_name";
...
Как можно догадаться из названий переменных, эти переменные содержат параметры доступа к базе данных:
$DBType
тип базы данных. Если сайт находится на виртуальном хостинге, то скорее всего это MySQL$DBHost
хост, оно же ip адрес сервера, на котором находится база данных$DBLogin
логин к базе данных.$DBPassword
пароль к базе данных$DBName
имя базы данных
Файл .settings.php
Это новый файл конфигурации Битрикса. Файл можно найти по адресу /bitrix/.settings.php
. В содержании этого файла
представляет из себя ассоциативный массив с настройками. В котором можно найти ключ connections
. В массиве под этим
ключом содержатся настройки подключения к базе данных:
...
'connections' =>
array (
'value' =>
array (
'default' =>
array (
'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
'host' => 'localhost',
'database' => 'db_name',
'login' => 'user_name',
'password' => 'pass',
),
),
'readonly' => true,
)
...
Как можно догадаться из названий ключей массива, эти переменные содержат параметры доступа к базе данных:
className
имя класса, с помощью которого происходит работа с конкретным типом базы данных. Обратите внимание, что при установленном на сервере расширении mysqli можно указатьMysqliConnection
. Тогда будет использоваться расширение mysqlihost
хост, оно же ip адрес сервера, на котором находится база данныхlogin
логин к базе данныхpassword
пароль к базе данныхdatabase
имя базы данных
В Битрикс параллельно используются 2 ядра — старое и новое, соответственно, оба файла настроек используются
одновременно. Поэтому необходимо производить настройки обоих файлов. Даже если используется код только старого ядра, то файл .settings.php
должен быть создан. Возможна ситуация, когда при
установке обновлений какой-то из встроенных механизмов системы будет переписан на новое ядро. Если этот файл корректно
не настроен, то это может привести к неработоспособности системы.