Config
Про переопределение настроек читайте здесь
Вам обязательно понадобится переопределить следующие блоки настроек:
- cors
- database
- file
- guides
Полный список настроек по умолчанию
auth:
# Вид аутентификации
# email: по электронной почте (код через email)
# phone: по номеру телефона (код через смс)
# mixed: смешанная аутентификация (в поле auth_id может быть email или номер телефона)
type: "email"
# Можно ли регистрировать новых пользователей (если при получении кода окажется что такого пользователя нет он будет создан)
can_registration_users: false
# Количество генераций новых кодов в день
attempts_per_day: 50
# Время устаревания кодов аутентификации (в часах)
auth_codes_older_than_hours: 2
# Время устаревания сессий (в днях), сессии которыми не пользовались
sessions_older_than_hours: 30
# Привязка сессии к IP-адресу
sessions_binding_to_ip: false
cors:
# Белый список доменов клиентов
# не рекомендуется использовать "*" и отключать access_control_allow_credentials
access_control_allow_origin:
- "http://lemurro-web.localhost"
# Использовать Access-Control-Allow-Origin
access_control_allow_credentials: true
cron:
# Префикс для имён заданий
#
# В случае, когда у вас на одном сервере несколько проектов, имена задач обязательно должны отличаться,
# иначе это приводит к конфликтам при запуске задач
name_prefix: "MyApp1"
# Путь до лог-файла
log_file: "/var/logs/cron.log"
# Массив email-адресов, куда отправлять письма с ошибками
errors_emails: []
# Выполнять (true) или нет (false) cron-задачу: Очистка устаревших токенов для скачивания файлов
file_older_tokens_enabled: true
# Выполнять (true) или нет (false) cron-задачу: Очистка устаревших файлов во временном каталоге
file_older_files_enabled: true
# Выполнять (true) или нет (false) cron-задачу: Ротация таблицы data_change_logs
data_change_logs_rotator_enabled: true
database:
mysql:
driver: "mysql"
host: "127.0.0.1"
port: "3306"
database: "lemurro"
username: "root"
password: ""
charset: "utf8mb4"
collation: "utf8mb4_unicode_ci"
# Опции драйвера
#
# 3: 2 => \PDO::ATTR_ERRMODE: \PDO::ERRMODE_EXCEPTION
# 19: 2 => \PDO::ATTR_DEFAULT_FETCH_MODE: \PDO::FETCH_ASSOC
# 1002: \PDO::MYSQL_ATTR_INIT_COMMAND
options: { 3: 2, 19: 2, 1002: "SET NAMES utf8" }
# pgsql:
# driver: "pgsql"
# host: "127.0.0.1"
# port: "5432"
# database: "lemurro"
# username: "root"
# password: ""
# charset: "utf8"
# schema: "public"
# sslmode: "prefer"
# sqlite:
# driver: "sqlite"
# database: "/path/to/database.sqlite"
# foreign_key_constraints: true
# sqlsrv:
# driver: "sqlsrv"
# host: "localhost"
# port: "1433"
# database: "lemurro"
# username: "root"
# password: ""
# charset: "utf8"
file:
# Каталог для логов (полный путь, без конечной "/")
path_logs: "/path/to/project/var/logs"
# Путь до временного хранилища (полный путь, без конечной "/")
path_temp: "/path/to/project/var/temp"
# Путь до постоянного хранилища (полный путь, без конечной "/")
path_upload: "/path/to/project/var/documents"
# Полное удаление файлов
# true - файл удаляется физически, а также удаляется запись в БД
# false - файл физически не удаляется, а в БД помечается как удалённый
full_remove: false
# Через сколько дней временный файл считать устаревшим
outdated_file_days: 5
# Через сколько часов токен на скачивание файла считать устаревшим
tokens_older_than_hours: 12
# Максимальный размер загружаемого файла (в байтах)
allowed_size_bytes: 2097152 # 2 MB
# Формат сообщения о превышении лимита размера загружаемого файла
allowed_size_formated: "2 MB"
# Режим проверки файла: по типу содержимого (type) или по расширению (ext)
check_file_by: "type"
# Массив разрешенных типов
allowed_types:
- "application/pdf" # pdf
- "application/msword" # doc
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document" # docx
- "application/vnd.ms-excel" # xls
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" # xlsx
- "application/zip" # zip
- "application/x-rar" # rar
# Массив разрешенных расширений
allowed_extensions: ["pdf", "doc", "docx", "xls", "xlsx", "zip", "rar"]
general:
# Вид сервера: разработчика
const_server_type_dev: &dev "dev"
# Вид сервера: тестовый
const_server_type_test: "test"
# Вид сервера: боевой
const_server_type_prod: "prod"
# Имя проекта
app_name: "Lemurro"
# Вид сервера
server_type: *dev
guides:
# Связка конечных точек маршрута справочников и их namespaces для запуска
#
# конечная точка: example (используется в пути: /guide/example)
# namespace: Example (полный путь до каталога классов: /app/Guide/Example/)
classes:
# example: "Example"
# Список разрешённых заголовков
headers:
- "X-SESSION-ID" # Идентификатор сессии
- "X-UTC-OFFSET" # Смещение временной зоны пользователя относительно UTC
- "X-Requested-With" # Необходим для CORS
- "X-File-Name" # Необходим для загрузки файлов
mail:
# ОСНОВНОЙ КАНАЛ
# Почтовый адрес
app_email: "no-reply@domain.tld"
# Отправка через SMTP с авторизацией
smtp: true
# Тип протокола (ssl|tls)
smtp_security: "ssl"
# Сервер
smtp_host: "HOST"
# Порт
smtp_port: 0
# Адрес почты
smtp_username: "no-reply@domain.tld"
# Пароль от почтового ящика
smtp_password: "PASSWORD"
# РЕЗЕРВНЫЙ КАНАЛ (ВСЕГДА SMTP)
# Включить (true) или выключить (false) отправку через резервный канал, в случае сбоя отправки через основной
reserve: false
# Почтовый адрес
reserve_app_email: "no-reply@domain.tld"
# Тип протокола (ssl|tls)
reserve_smtp_security: "ssl"
# Сервер
reserve_smtp_host: "HOST"
# Порт
reserve_smtp_port: 0
# Адрес почты
reserve_smtp_username: "no-reply@domain.tld"
# Пароль от почтового ящика
reserve_smtp_password: "PASSWORD"
maintenance:
# Включить \ Выключить обслуживание проекта
active: false
# Сообщение об обслуживании
message: "Проект временно остановлен на обслуживание, пожалуйста повторите свой запрос через 5 минут или обновите страницу"
sms:
# API-ключ от аккаунта в sms.ru
smsru_api_id: "api_id"
# Отправитель (можно оставить пустым, если не нужен)
smsru_sender: "SenderName"