| До версии 18.5.200 действовал такой формат записи: | 
|---|
|   'cache' => array (
    'value' => array (
      'type' => 'files',
    ),
    'readonly' => false,
  ), | 
Дата последнего изменения: 27.08.2025
| Особый файл | 
Bitrix Framework имеет ряд специфичных настроек ядра, которые не имеют визуального интерфейса редактирования. Этот подход вызван тем, что изменение настроек или ошибка в них легко могут привести к неработоспособности системы (настройки подключения к базе данных, настройки кеширования и т.д.).
Настройки в D7 выполняются в файле /bitrix/.settings.php. Напомним, что в старом ядре аналогичные настройки выполнялись в файле /bitrix/php_interface/dbconn.php. Файл .settings.php структурно сильно отличается от прежнего dbconn.php.
Даже если вы используете код только старого ядра, то файл .settings.php должен быть создан. Возможна ситуация, когда при установке обновлений какой-то из встроенных механизмов системы будет переписан на ядро D7. Если этот файл корректно не настроен, то это может привести к неработоспособности системы.
Иногда бывают ситуации, что файл .settings.php отсутствует. Его можно создать в автоматическом режиме, если выполнить в 
		
			командной строке
			
				
                    
                    Командная PHP-строка – инструмент системы, позволяющий запускать произвольный код на PHP с вызовами функций. Подробнее...
                
			
		
		:
Bitrix\Main\Config\Configuration::wnc();.
Править параметры можно с помощью класса Configuration (Bitrix\Main\Config\Configuration).
readonly. Этот параметр означает, что данные настройки не будут изменены через API.Кроме этого настройки могут задаваться в файле .settings_extra.php. Базовый файл настроек содержит неизменные настройки, к которым есть API. Файл .settings_extra.php может содержать произвольный код, который меняет настройки динамически. Соответственно к нему нет API.
С версии 24.100.0 главного модуля файлы настроек .settings.php и .settings_extra.php могут быть размещены в папке /local В ядре D7 основные файлы пользовательских проектов вынесены из папки /bitrix в папку /local. Это позволяет изолировать изменяющиеся файлы вашего проекта от папки продукта. , а файл dbconn.php — в папке /local/php_interface.
| Описание параметров | 
Ниже описаны параметры, которые возможны для изменения:
Секция cache
Отвечает за настройки кеширования, позволяет задать способ кеширования и его параметры.
| До версии 18.5.200 действовал такой формат записи: | 
|---|
|   'cache' => array (
    'value' => array (
      'type' => 'files',
    ),
    'readonly' => false,
  ), | 
В версии 18.5.200 формат записи был изменён одновременно с возможностью использовать в кешировании Redis. Оба формата на данный момент работоспособны, но вендор настойчиво рекомендует использовать новый вариант записи.
| Примеры нового формата записи для разных способов кеширования. | 
|---|
| Redis: 'cache' => array(        'value' => array(
          'type' => array(
              'class_name' => '\\Bitrix\\Main\\Data\\CacheEngineRedis',
              'extension' => 'redis'
          ),
          'redis' => array(
              'host' => '127.0.0.1',
              'port' => '6379',
          ),
          'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
      ),
  ),Memcache   'cache' => array(
      'value' => array(
          'type' => array(
              'class_name' => '\\Bitrix\\Main\\Data\\CacheEngineMemcache',
              'extension' => 'memcache'
          ),
          'memcache' => array(
              'host' => '127.0.0.1',
              'port' => '11211',
          ),
          'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
      ),
  ),Apc   'cache' => array(
      'value' => array(
          'type' => array(
              'class_name' => '\\Bitrix\\Main\\Data\\CacheEngineApc',
              'extension' => 'apcu'
          ),
          'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
      ),
  ),Кеш в файлах 'cache' => array( 'value' => array( 'type' => array( 'class_name' => '\\Bitrix\\Main\\Data\\CacheEngineFiles', ), 'root_directory' => '/user_cache_dir/', 'sid' => $_SERVER["DOCUMENT_ROOT"]."#01" ), ) По умолчанию корневая папка файлового кеша — /bitrix/cache/. С версии 24.100.0 главного модуля ее можно заменить на произвольную папку 'root_directory'. XCache   'cache' => array(
      'value' => array(
          'type' => array(
              'class_name' => '\\Bitrix\\Main\\Data\\CacheEngineXCache',
              'extension' => 'xcache'
          ),
          'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
      ),
  ), | 
| 
 | 
/bitrix/.settings_extra.php.
| Пример файла /bitrix/.settings_extra.php | 
|---|
| <?php
return array (
  'cache' => array(
     'value' => array (
		'type' => 'memcache',
		'memcache' => array(
			'host' => 'unix:///tmp/memcached.sock',
			'port' => '0'
		),
		'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
     ),
  ),
);
?> | 
В базовом файле .settings.php содержатся неизменные настройки, к которым есть API. Файл .settings_extra.php может содержать произвольный код, который меняет настройки динамически в зависимости от каких-либо факторов. Соответственно для изменения настроек в этом файле нет API. Естественно в ходе выполнения этого произвольного кода должен быть возвращен массив подобной структуры базового файла.
Секция exception_handling
Отвечает за обработку ошибок.
  'exception_handling' => array (
    'value' => array (
      'debug' => false,
      'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE,
      'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING & ~E_DEPRECATED,
      'ignore_silence' => false,
      'assertion_throws_exception' => true,
      'assertion_error_type' => 256,
      'log' => array (
        'settings' => array (
          'file' => 'bitrix/modules/error.log',
          'log_size' => 1000000,
        ),
      ),
    ),
    'readonly' => false,
  ),
| 
 | 
В handled_errors_types, exception_errors_types, assertion_error_type необходимо передать тип ошибки. Тип ошибки представляет из себя числовой код. Но коды знать и помнить не нужно. Например, параметр exception_errors_types.  Что означает данная запись: E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING?
Для начала обратимся к уровням ошибок интерпретатора PHP. Есть определенные значения и определенные константы, которые им соответствуют. В нашем же случае данная запись означает, что E_ALL (значение константы 2047), побитовое и не E_NOTICE, и не E_WARNING и не E_STRICT и не E_USER_WARNING и не E_USER_NOTICE и не E_COMPILE_WARNING. То есть E_ALL за исключением далее указанных констант, которые определяют тот или иной уровень ошибок интерпретатора PHP.
Секция connections
Параметры соединения с базой данных и другими источниками данных. Задается имя класса и параметры соединения.
'connections' => array (
        'value' => array (
            'default' => array (
                'className' => '\\Bitrix\\Main\\DB\\MysqlConnection',
                'host' => 'localhost:31006',
                'database' => 'admin_bus',
                'login' => 'admin_bus',
                'password' => 'admin_bus',
                'options' => 2,
                'handlersocket' => array (
                    'read' => 'handlersocket',
                ),
            ),
            'handlersocket' => array (
                'className' => '\\Bitrix\\Main\\Data\\HsphpReadConnection',
                'host' => 'localhost',
                'port' => '9998',
            ),
        ),
        'readonly' => true,
    ),
'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',Также для этого в PHP должно быть установлено расширение mysqli, дополнительные проверки на наличие расширения не производятся! Включать mysqli нужно отдельно для старого (dbconn.php) и (.settings.php) ядра D7.
| 
 | 
Корневая секция
В корневой секции размещаются настройки общего характера.
| 
 | 
Секция pull
Эта секция реально нужна только для хостинг-партнеров (для автоматизации развертывания), для всех остальных рекомендуется использовать настройку через административный интерфейс.
| Пример кода секции и таблица параметров | |||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 'pull' => Array(
       'value' =>  array(
           'path_to_listener' => "http://#DOMAIN#/bitrix/sub/";,
           'path_to_listener_secure' => "https://#DOMAIN#/bitrix/sub/";,
           'path_to_modern_listener' => "http://#DOMAIN#/bitrix/sub/";,
           'path_to_modern_listener_secure' => "https://#DOMAIN#/bitrix/sub/";,
           'path_to_mobile_listener' => "http://#DOMAIN#:8893/bitrix/sub/";,
           'path_to_mobile_listener_secure' => "https://#DOMAIN#:8894/bitrix/sub/";,
           'path_to_websocket' => "ws://#DOMAIN#/bitrix/subws/",
           'path_to_websocket_secure' => "wss://#DOMAIN#/bitrix/subws/",
           'path_to_publish' => 'http://127.0.0.1:8895/bitrix/pub/',
           'nginx_version' => '3',
           'nginx_command_per_hit' => '100',
           'nginx' => 'Y',
           'nginx_headers' => 'N',
           'push' => 'Y',
           'websocket' => 'Y',
           'signature_key' => '1111111111',
           'signature_algo' => 'sha1',
           'guest' => 'N',
       ),
   ),
 | 
Секция http_client_options
Секция задаёт опции по умолчанию для класса Bitrix\Main\Web\HttpClient.
С версии main 23.0.0 в HttpClient добавлена поддержка PSR-18. Помимо PSR, клиент работает в legacy-режиме, поддерживает очереди асинхронных запросов и библиотеку CURL.
| 
 | 
* – опции, работающие только в legacy-режиме.
Пример настройки:
  'http_client_options' =>
   array (
     'value' =>
        array (
         'redirect' => true,//делаем редиректы, если требуется
         'redirectMax' => 10,//но не более 10
         'version' => '1.1'//работаем по протоколу http 1.1
        ),
     'readonly' => false,
   ),
Правильно ли вы указали настройки, можно проверить так:
use Bitrix\Main\Config\Configuration;
print_r(Configuration::getValue("http_client_options"));
Должен быть выведен ваш массив.
Секция services
Секция предназначена для регистрации сервисов. Подробнее о настройках смотрите в уроке 
		
			Сервис Локатор
			
				
                    
                    Сервис локатор (локатор служб) – это шаблон проектирования для удобной работы с сервисами приложения. Идея сервиса в том, что вместо создания конкретных сервисов напрямую (с помощью new), используется специальный объект (сервис локатор), который будет отвечать за создание, нахождение сервисов. 
Подробнее ...
                
			
		
		
Секция routing
Секция отвечает за подключение файлов с конфигурацией маршрутов 
		
			роутинга
			
				
                    
                    Доступно в модуле main начиная с версии 21.100.0.
Подробнее...
                
			
		
		, которые располагаются в папках /bitrix/routes/ и /local/routes/. Для подключения файлов опишите их:
'routing' => ['value' => [ 'config' => ['web.php', 'api.php'] ]], // подключатся файлы: // /bitrix/routes/web.php, /local/routes/web.php, // /bitrix/routes/api.php, /local/routes/api.php
Секция session
Ядро поддерживает четыре варианта для хранения (файлы, redis, database, memcache) данных сессии. Способ хранения описывается в секции session. Подробнее.
Ключ crypto_key
Чтобы ядро могло шифровать данные необходимо указать в настройках /bitrix/.settings.php ключ crypto_key. Подробнее...
Секция smtp
С версии 21.900.0 модуля main в файле /bitrix/.settings.php можно использовать опцию smtp, которая позволяет 
		
			включить
			
				
                    
                    
Чтобы в продуктах 1С-Битрикс: Управление сайтом и коробочных версиях Битрикс24 включить возможность использования SMTP-сервера отправителя, отредактируйте файл /bitrix/.settings.php, добавив следующий код:
Подробнее...
                
			
		
		 возможность использования SMTP-сервера отправителя и организовать разделение потоков отправки писем.
Секция default_language
Cекция default_language задает язык по умолчанию. Система покажет текст на этом языке, если фраза не переведена на нужный язык. Настройка необходима в мультиязычных проектах, когда не готовы все переводы. Интерфейс не будет пустым и останется читаемым.
Получить язык по умолчанию можно с помощью метода Bitrix\Main\Localization\Loc::getDefaultLang.
Список ссылок по теме:
