Файл config.php в Cotonti CMF

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

Файл config.php в Cotonti CMF является одним из ключевых конфигурационных файлов системы. Он хранится в каталоге /datas/ и содержит основные настройки сайта, которые определяют его работу и взаимодействие с сервером, базой данных, пользователями и кэшем.

Основное назначение файла и его место в системе Cotonti

Файл config.php отвечает за глобальные настройки сайта, такие как параметры безопасности, подключения к базе данных, параметры кэширования, язык интерфейса, темы оформления, директивы отладки и другие важные параметры работы движка Cotonti.
В системе Cotonti он является одним из первых файлов, загружаемых при запуске сайта, так как содержит критически важную информацию о конфигурации.

Этот файл предназначен для хранения настроек, которые редко меняются, но оказывают значительное влияние на работу всего сайта. Его изменение требует доступа к серверу и редактора файлов, так как он не редактируется через панель администратора.


Взаимодействие файла config.php внутри системы Cotonti

Файл config.php взаимодействует со следующими компонентами сайта:

  1. Ядро Cotonti (файл common.php)

    • Подключается к основным скриптам системы и определяет настройки окружения.
    • Загружает параметры безопасности и режим отладки.
  2. Модуль авторизации и управления пользователями

    • Определяет поведение кэширования пользователей.
    • Управляет настройками безопасности, включая проверку IP-адресов и смену сессий.
  3. Шаблонизатор XTemplate

    • Определяет настройки кэширования шаблонов.
    • Позволяет включать или отключать поддержку устаревших функций.
  4. База данных (MySQL)

    • Определяет префиксы таблиц.
    • Позволяет изменять имена таблиц, если требуется совместная работа нескольких установок Cotonti в одной базе.
  5. Система кеширования

    • Позволяет включать и настраивать кеширование на уровне движка.
    • Поддерживает работу с различными кеш-драйверами, такими как APC, Memcache, Xcache.
  6. Система безопасности

    • Управляет настройками HTTPS и секретных ключей.
    • Включает и отключает встроенную защиту от атак (Shield).
    • Определяет уровень отладки и логирования.
  7. Файловая система

    • Определяет пути к директориям аватаров, кэша, плагинов, модулей и других данных.

Используемые переменные, их назначение

Файл содержит множество переменных конфигурации, каждая из которых выполняет определенную задачу. Ниже приведены основные переменные с их описанием:

1. Основные параметры сайта

  • $cfg['force_https'] — принудительное использование HTTPS.
  • $cfg['site_id'] — уникальный идентификатор сайта.
  • $cfg['secret_key'] — секретный ключ, используемый для безопасности.

2. Настройки темы и локализации

  • $cfg['defaulttheme'] — тема оформления сайта.
  • $cfg['defaultscheme'] — цветовая схема темы.
  • $cfg['defaulticons'] — набор иконок по умолчанию.
  • $cfg['defaultlang'] — язык интерфейса.

3. Настройки безопасности

  • $cfg['display_errors'] — отображение ошибок (рекомендуется выключать на боевом сервере).
  • $cfg['ipcheck'] — отключает сессию, если изменился IP-адрес.
  • $cfg['authcache'] — кеширование авторизационных данных в базе данных.

4. Система кеширования

  • $cfg['cache'] — включение кеша данных.
  • $cfg['cache_drv'] — выбор кеш-драйвера.
  • $cfg['cache_index'] — кеширование главной страницы для гостей.

5. Директории и файлы

  • $cfg['avatars_dir'] — директория хранения аватаров пользователей.
  • $cfg['plugins_dir'] — путь к папке плагинов.
  • $cfg['themes_dir'] — директория с темами оформления.
  • $cfg['debug_logpath'] — путь к логам отладки.

6. База данных

  • $db_x — префикс таблиц в базе данных.
  • Примеры использования:
    • $db_auth — таблица авторизации.
    • $db_cache — таблица кеша.

7. Различные режимы работы

  • $cfg['debug_mode'] — включает отладочный режим.
  • $cfg['legacyMode'] — включает поддержку устаревших функций.
  • $cfg['shield_force'] — активирует защиту Shield даже для администратора.

Какие задачи выполняет код config.php

  1. Определяет глобальные настройки работы сайта (например, тема, язык, кеширование).
  2. Устанавливает параметры безопасности (включение HTTPS, секретный ключ, проверка IP-адреса).
  3. Настраивает кеширование (позволяет выбрать кэш-драйвер и включить кеширование страниц).
  4. Определяет пути к файлам и директориям (темы, плагины, модули, кеш, аватары и пр.).
  5. Контролирует отладку и логи (можно включить или отключить режим отладки).
  6. Задает префиксы и имена таблиц базы данных (важно для использования одной БД несколькими установками).

Как владельцу сайта использовать этот файл

Файл config.php важен для администрирования и настройки сайта. Его можно использовать в следующих случаях:

  • Настройка безопасности

    • Включение HTTPS с помощью $cfg['force_https'] = true;.
    • Изменение секретного ключа $cfg['secret_key'] для повышения защиты данных.
    • Включение проверки IP-адресов $cfg['ipcheck'] = true;.
  • Настройка отображения сайта

    • Смена темы через $cfg['defaulttheme'] = 'новая_тема';.
    • Изменение языка интерфейса $cfg['defaultlang'] = 'ru';.
  • Управление кешированием

    • Включение кеша $cfg['cache'] = true; для повышения производительности.
    • Настройка драйвера кеша $cfg['cache_drv'] = 'Memcache';.
  • Отладка и тестирование

    • Включение отладочного режима $cfg['debug_mode'] = true; для выявления ошибок.
    • Проверка старых функций с $cfg['legacyMode'] = true;.
  • Изменение базы данных

    • Использование другой базы через $db_x = 'mycustom_';, если необходимо разделить данные между проектами.

Вывод

Файл config.php — это важнейший конфигурационный файл Cotonti CMF, который управляет параметрами системы, безопасностью, кешированием, базой данных и настройками интерфейса. Его грамотное использование позволяет администратору сайта настраивать работу движка под свои нужды, улучшать производительность и обеспечивать безопасность.

 

 

<?php
/**
 * Конфигурация
 *
 * @package Cotonti
 * @copyright (c) Команда Cotonti
 * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt
 */

defined('COT_CODE') or die('Неправильный URL'); // Проверяет, определена ли константа COT_CODE. Если нет — выполнение скрипта прекращается. Защита от прямого доступа к файлу.

// ========================
// Параметры базы данных MySQL. Измените в соответствии с настройками вашего хоста.
// ========================
$cfg['mysqlhost'] = 'localhost';	// Адрес хоста базы данных MySQL. По умолчанию "localhost".
$cfg['mysqlport'] = '';				// Порт для подключения к базе данных. Оставлен пустым, значит будет использоваться стандартный порт MySQL.
$cfg['mysqluser'] = 'root';			// Имя пользователя для подключения к базе данных.
$cfg['mysqlpassword'] = '';			// Пароль пользователя для подключения к базе данных. Здесь пустой — в продакшене должен быть установлен.
$cfg['mysqldb'] = 'cotonti';		// Название базы данных, используемой движком Cotonti.

// Кодировка и правила сортировки базы данных MySQL. Полезно, если сервер MySQL использует кодировку, отличную от кодировки сайта.
// Список доступных значений можно найти здесь: https://dev.mysql.com/doc/refman/9.0/en/charset-charsets.html
$cfg['mysqlcharset'] = 'utf8mb4'; // Устанавливает кодировку базы данных. utf8mb4 поддерживает полный набор символов Юникода.
$cfg['mysqlcollate'] = 'utf8mb4_unicode_ci'; // Определяет правила сортировки строк в базе данных на основе Unicode.

// ========================
// Основной URL сайта без завершающего слэша.
// ========================
$cfg['mainurl'] = 'http://localhost'; // Основной URL сайта без завершающего слэша. Используется для генерации ссылок.

 

/**
 * Установите значение TRUE, если 'https' не распознается автоматически и всегда должен использоваться https
 */
$cfg['force_https'] = false; // Принудительное использование HTTPS. Если установлено в true, сайт всегда будет работать через HTTPS, даже если сервер этого не определяет автоматически.

$cfg['site_id'] = 'Некоторая уникальная строка, специфичная для вашего сайта'; // Уникальный идентификатор сайта. Используется для различных внутренних механизмов.

$cfg['secret_key'] = 'Секретный ключ, используемый для аутентификации, сделайте его уникальным и держите в секрете!'; // Секретный ключ для различных операций безопасности. Должен быть уникальным и недоступным для посторонних.

$cfg['multihost'] = false; // Разрешить использование нескольких доменных имен для этого сайта. Если установлено в true, Cotonti сможет работать с несколькими доменами.

 

/**
 * Адрес электронной почты для заголовка 'From' в функции cot_mail()
 * Значение по умолчанию — 'mail_sender@domain', где domain берётся из $cfg['mainurl']
 * Раскомментируйте эту строку, если нужно задать собственный адрес 'From'
 * Примечание: адрес 'Reply-To' можно задать здесь: https://your-domain.com/admin/config?n=edit&o=core&p=main
 */
// $cfg['email_from_address'] = 'mail_sender@localhost';

// ========================
// Тема оформления по умолчанию, цветовая схема и язык
// ========================
$cfg['defaulttheme'] = 'nemesis'; // Код темы оформления по умолчанию. Убедитесь, что он указывает на существующую папку в ./themes/... !!

$cfg['defaultscheme'] = 'default'; // Цветовая схема по умолчанию, указывается только имя, без расширения (.css). Убедитесь, что она находится в папке ./themes/defaulttheme/... !!

$cfg['defaulticons'] = 'default'; // Набор иконок по умолчанию

$cfg['defaultlang'] = 'en'; // Код языка по умолчанию

$cfg['enablecustomhf'] = false; // Включение поддержки шаблонов header.$location.tpl и footer.$location.tpl

$cfg['admintheme'] = ''; // Название пользовательской темы для админ-панели (если задано)

 

// ========================
// Настройки, связанные с производительностью
// ========================
$cfg['cache'] = false; // Включить кэширование данных

$cfg['cache_drv'] = ''; // Название драйвера кэша, доступного на сервере (если есть поддержка)
                        // Возможные значения: APC, Memcache, Xcache

$cfg['cache_drv_host'] = 'localhost'; // Хост сервера кэша

$cfg['cache_drv_port'] = ''; // Порт сервера кэша

$cfg['xtpl_cache'] = false; // Включить дисковый кэш структуры XTemplate. Должно быть TRUE на продуктивных сайтах

$cfg['html_cleanup'] = false; // Удалять лишние пробелы и переносы строк в HTML для уменьшения размера страниц

$cfg['cache_index'] = false; // Включить статический кэш главной страницы для гостей

$cfg['cache_page'] = false; // Включить статический кэш страниц и списков страниц для гостей

$cfg['cache_forums'] = false; // Включить статический кэш страниц форума для гостей

 

// ========================
// Дополнительные настройки
// Должны работать корректно в большинстве случаев.
// Если не знаете, не изменяйте.
// TRUE = включено / FALSE = выключено
// ========================

$cfg['check_updates'] = true; // Автоматическая проверка обновлений, установите TRUE для включения

$cfg['display_errors'] = true; // Отображение сообщений об ошибках. Установите FALSE на продуктивных сайтах

$cfg['redirmode'] = false; // Установите TRUE, если не удаётся успешно войти в систему (актуально для серверов IIS)

$cfg['xmlclient'] = false; // Используется только в тестовых целях, иначе оставьте выключенным

$cfg['ipcheck'] = false; // Прерывает сеанс пользователя, если его IP-адрес изменился

$cfg['authcache'] = true; // Кэширование данных авторизации в SQL-таблицах. Установите FALSE, если у вас большая база данных,
                          // и из-за этого сервер перегружается

$cfg['customfuncs'] = false; // Включает подключение файла functions.custom.php

$cfg['new_install'] = 1; // Этот параметр указывает на этап новой установки и перенаправляет пользователя на страницу установки
                         // Если Cotonti уже установлен, установите FALSE или удалите этот параметр

$cfg['useremailduplicate'] = false; // Разрешить пользователям регистрировать новые аккаунты с одинаковым email.
                                    // НЕ ВКЛЮЧАЙТЕ этот параметр, если не уверены, что он вам нужен, иначе это
                                    // может привести к несогласованности базы данных.

 

/**
 * Включить/выключить проверку существования файлов обработчиков хуков (событий). По умолчанию включено.
 * Раскомментируйте на продуктивном сайте для небольшого улучшения производительности.
 */
// $cfg['checkHookFileExistence'] = false;

// ========================
// Пути к директориям
// Установите свои значения, если хотите использовать
// общие папки для разных хостов.
// ========================
$cfg['avatars_dir'] = 'datas/avatars'; // Каталог хранения аватаров пользователей
$cfg['cache_dir'] = 'datas/cache'; // Каталог кэша
$cfg['lang_dir'] = 'lang'; // Каталог языковых файлов
$cfg['modules_dir'] = 'modules'; // Каталог модулей
$cfg['pfs_dir'] = 'datas/users'; // Каталог персонального файлового хранилища (PFS) пользователей
$cfg['photos_dir'] = 'datas/photos'; // Каталог фотографий
$cfg['plugins_dir'] = 'plugins'; // Каталог плагинов
$cfg['system_dir'] = 'system'; // Каталог системных файлов
$cfg['thumbs_dir'] = 'datas/thumbs'; // Каталог миниатюр изображений
$cfg['themes_dir'] = 'themes'; // Каталог тем оформления
$cfg['extrafield_files_dir'] = 'datas/exflds'; // Каталог дополнительных полей
$cfg['icons_dir'] = 'images/icons'; // Каталог значков (иконок)

 

// ========================
// Права доступа к каталогам и файлам для загруженных файлов
// и файлов, созданных скриптами.
// Можно установить значения, которые обеспечат максимальную 
// безопасность и удобство на вашем хостинге.
// ========================
$cfg['dir_perms'] = 0775; // Права доступа для создаваемых директорий (775: владелец и группа могут записывать, остальные — только читать)
$cfg['file_perms'] = 0664; // Права доступа для создаваемых файлов (664: владелец и группа могут записывать, остальные — только читать)

// ========================
// Важные переключатели констант
// ========================

/**
 * Определяет, следует ли отображать отладочную информацию при критических ошибках.
 * Установите TRUE, если тестируете что-то новое.
 * Установите FALSE на продуктивных сайтах.
 */
$cfg['debug_mode'] = false; // Режим отладки отключен по умолчанию

/**
 * Путь к файлам журнала отладки, используемого функциями для записи отладочных данных.
 * Этот файл НЕ ДОЛЖЕН быть доступен посторонним (например, через HTTP),
 * так как это может скомпрометировать безопасность сайта.
 * Защитите его с помощью .htaccess или поместите в каталог, доступный только через FTP.
 */
$cfg['debug_logpath'] = 'datas/tmp'; // Директория хранения логов отладки

/**
 * Защита (Shield) отключена для администраторов по умолчанию. 
 * Если вы хотите протестировать её с администраторской учетной записью,
 * включите, установив в TRUE.
 */
$cfg['shield_force'] = false; // Принудительное включение защиты для администраторов отключено

/**
 * Включает/отключает устаревшие функции, которые пока не были удалены.
 * В частности, это включает/отключает устаревшие теги шаблонизатора для упрощения разработки.
 */
$cfg['legacyMode'] = false; // Устаревший режим (поддержка старых функций) отключен

// ========================
// Названия таблиц MySQL
// Изменяйте только если хотите:
// - выполнить два отдельных установки в одной базе данных,
// - использовать общие таблицы между двумя сайтами.
// В остальных случаях менять не нужно.
// ========================
$db_x = 'cot_'; // Префикс таблиц в базе данных (по умолчанию: cot_), используется для полей extra

// Примеры изменения имен таблиц:
// $db_auth = 'my_custom_auth'; // Кастомное имя таблицы аутентификации
// $db_cache = 'my_custom_cache'; // Кастомное имя таблицы кэша

 

10 минут чтения Sodium Carbonate

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Автор контента

webitproff

Онлайн

Sodium Carbonate

Последняя авторизация: 19.07.2026 00:02

  • Страница размещена: 30.01.2025 23:21
  • Последнее обновление: 30.01.2025 23:26

Похожие страницы

Файл admin.config.php в Cotonti CMF
1 Основное назначение файла и его место в системе Файл admin.config.php является частью административной панели системы
HTML-шаблон admin.config.tpl в Cotonti
2 Описание шаблона admin.config.tpl Основное назначение: Шаблон admin.config.tpl предназначен для отображения интерфейса