Файл config.php в Cotonti CMF
Файл config.php отвечает за глобальные настройки сайта, такие как параметры безопасности, подключения к базе данных, параметры кэширования, язык интерфейса, темы оформления, директивы отладки и другие важные параметры
Файл config.php в Cotonti CMF является одним из ключевых конфигурационных файлов системы. Он хранится в каталоге /datas/ и содержит основные настройки сайта, которые определяют его работу и взаимодействие с сервером, базой данных, пользователями и кэшем.
Основное назначение файла и его место в системе Cotonti
Файл config.php отвечает за глобальные настройки сайта, такие как параметры безопасности, подключения к базе данных, параметры кэширования, язык интерфейса, темы оформления, директивы отладки и другие важные параметры работы движка Cotonti.
В системе Cotonti он является одним из первых файлов, загружаемых при запуске сайта, так как содержит критически важную информацию о конфигурации.
Этот файл предназначен для хранения настроек, которые редко меняются, но оказывают значительное влияние на работу всего сайта. Его изменение требует доступа к серверу и редактора файлов, так как он не редактируется через панель администратора.
Взаимодействие файла config.php внутри системы Cotonti
Файл config.php взаимодействует со следующими компонентами сайта:
-
Ядро Cotonti (файл common.php)
- Подключается к основным скриптам системы и определяет настройки окружения.
- Загружает параметры безопасности и режим отладки.
-
Модуль авторизации и управления пользователями
- Определяет поведение кэширования пользователей.
- Управляет настройками безопасности, включая проверку IP-адресов и смену сессий.
-
Шаблонизатор XTemplate
- Определяет настройки кэширования шаблонов.
- Позволяет включать или отключать поддержку устаревших функций.
-
База данных (MySQL)
- Определяет префиксы таблиц.
- Позволяет изменять имена таблиц, если требуется совместная работа нескольких установок Cotonti в одной базе.
-
Система кеширования
- Позволяет включать и настраивать кеширование на уровне движка.
- Поддерживает работу с различными кеш-драйверами, такими как APC, Memcache, Xcache.
-
Система безопасности
- Управляет настройками HTTPS и секретных ключей.
- Включает и отключает встроенную защиту от атак (Shield).
- Определяет уровень отладки и логирования.
-
Файловая система
- Определяет пути к директориям аватаров, кэша, плагинов, модулей и других данных.
Используемые переменные, их назначение
Файл содержит множество переменных конфигурации, каждая из которых выполняет определенную задачу. Ниже приведены основные переменные с их описанием:
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
- Определяет глобальные настройки работы сайта (например, тема, язык, кеширование).
- Устанавливает параметры безопасности (включение HTTPS, секретный ключ, проверка IP-адреса).
- Настраивает кеширование (позволяет выбрать кэш-драйвер и включить кеширование страниц).
- Определяет пути к файлам и директориям (темы, плагины, модули, кеш, аватары и пр.).
- Контролирует отладку и логи (можно включить или отключить режим отладки).
- Задает префиксы и имена таблиц базы данных (важно для использования одной БД несколькими установками).
Как владельцу сайта использовать этот файл
Файл config.php важен для администрирования и настройки сайта. Его можно использовать в следующих случаях:
-
Настройка безопасности
- Включение HTTPS с помощью
$cfg['force_https'] = true;. - Изменение секретного ключа
$cfg['secret_key']для повышения защиты данных. - Включение проверки IP-адресов
$cfg['ipcheck'] = true;.
- Включение HTTPS с помощью
-
Настройка отображения сайта
- Смена темы через
$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'; // Кастомное имя таблицы кэша
Комментарии (0)
Автор контента
Онлайн
Sodium Carbonate
Последняя авторизация: 19.07.2026 00:02
- Страница размещена: 30.01.2025 23:21
- Последнее обновление: 30.01.2025 23:26