Файл налаштувань .env
Приклад робочого файлу з поясненнями та правило: що редагується у файлі, а що лише в панелі керування.
На цій сторінці
Файл .env лежить у корені магазину й зберігає те, що пов’язує копію магазину із
сервером: адресу сайту, доступ до бази даних, ключ шифрування. Усе інше — назви,
валюти, доставка, оплата, пошта, оформлення — налаштовується в панелі керування і
до цього файлу не потрапляє.
Правило просте: якщо налаштування видно в панелі керування, редагуйте його там. Значення з панелі старше за значення з файлу, і правка файлу нічого не змінить, зате зіб’є з пантелику наступну людину.
Приклад робочого файлу
Встановлювач створює такий файл сам. Тут він наведений із поясненнями — на випадок, коли магазин переносять на інший сервер або змінюють домен.
APP_NAME="Мій магазин"
APP_ENV=production
APP_KEY=base64:… # створюється під час встановлення, змінювати не можна
APP_DEBUG=false
APP_URL=https://example.com
APP_LOCALE=uk # мова панелі керування за замовчуванням
APP_FALLBACK_LOCALE=en
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=cartix
DB_USERNAME=cartix
DB_PASSWORD=пароль
SESSION_DRIVER=database
CACHE_STORE=database
QUEUE_CONNECTION=database
FILESYSTEM_DISK=local
Що тут важливо:
APP_KEY— ключ шифрування. Ним зашифровані паролі до платіжних систем, доступи до служб доставки та налаштування сховищ. Заміните ключ — і магазин перестане їх читати, відновити буде нічим. Переносячи магазин на інший сервер, везіть файл.envразом із базою.APP_DEBUGна працюючому магазині завждиfalse. Заtrueвідвідувач у разі помилки побачить шматок коду й налаштування сервера.APP_URLмає збігатися з адресою сайту, включно зhttps. Від нього будуються посилання в листах покупцям і зворотні адреси платіжних систем.QUEUE_CONNECTION=database— черга завдань зберігається в базі. Це робоче значення для звичайного хостингу; змінювати його без потреби не варто.
Налаштування самого магазину
Їх небагато, і майже всі потрібні в рідкісних випадках.
| Рядок | Що робить |
|---|---|
CARTIX_SPAWN_PROCESSES=false |
заборонити магазину запускати окремі програми — для хостингів, де це не працює |
CARTIX_UPDATE_CHANNEL=beta |
отримувати попередні версії раніше за інших |
CARTIX_LICENSE_GRACE_DAYS=21 |
скільки днів магазин живе за останньою вдалою перевіркою ліцензії, якщо наш сайт недоступний |
CARTIX_INSTALLER_MAX_UPLOAD_MB=64 |
межа на архів доповнення, яке встановлюють із файлу |
CARTIX_DEMO_TIMEOUT=600 |
скільки чекати завантаження демонстраційних товарів, секунд |
Пошта
Поштова скринька, з якої йдуть листи покупцям, налаштовується лише в панелі
керування: «Налаштування» → «Канали зв’язку» → «Пошта». Там само можна
надіслати пробний лист. Рядки MAIL_* у файлі налаштувань магазин не
використовує — він збирає підключення з налаштувань каналу під час кожного
надсилання.
Зроблено так навмисно: поштову скриньку змінюють частіше за будь-що інше, і власник не повинен заради цього лізти у файли на сервері.
Після правки файлу
Магазин запам’ятовує налаштування, тому зміни в .env застосовуються не одразу.
Виконайте в теці магазину:
php artisan optimize:clear
Або, якщо консолі немає, натисніть «Очистити кеш» у розділі «Системний» → «Обслуговування».
Якщо на сервері увімкнено OPcache, після правки коду (не налаштувань) може знадобитися перезапуск PHP-FPM — інакше сервер і далі виконуватиме попередню версію файлів.
Чого у файлі бути не повинно
- Резервних копій поруч. Файл
.env.backupабо.env.oldу корені сайту веб-сервер може віддати за прямим посиланням разом з усіма паролями. Зберігайте копії поза текою сайту. - Доступів, які вже не потрібні. Залишений ключ від старої платіжної системи — це доступ, який ніхто не відкликав.