Якщо щось пішло не так
Діагностика в розділі «Системний» та розбір типових випадків: зникли фотографії, не йдуть листи, накопичуються завдання.
На цій сторінці
- Не відкривається жодна фотографія
- Не йдуть листи покупцям
- Завдання накопичуються й не виконуються
- Після оновлення сторінка не відкривається
- «Сторінку не знайдено» на всіх адресах, крім головної
- Магазин просить встановлення, хоча він уже встановлений
- Зміни в налаштуваннях не застосовуються
- Куди дивитися далі
Перше місце, куди варто заглянути, — «Системний» → «Діагностика». Магазин перевіряє там сам себе: версію PHP і розширення, права на теки, доступ до фотографій, базу даних, кеш, чергу завдань, планувальник, місце на диску та пошту. Кожна перевірка відповідає не «чи налаштовано», а «чи працює просто зараз».
Нижче — випадки, які трапляються найчастіше.
Не відкривається жодна фотографія
Файли на місці, а замість товарів порожні рамки. Причин дві.
Немає посилання на сховище. Діагностика покаже це окремим рядком. Виконайте в теці магазину:
php artisan storage:link
Файли належать не тому користувачу. Так буває, коли фотографії завантажували
на сервер через SSH від імені root: магазин працює від імені веб-сервера і не
може ані прочитати оригінал, ані записати зменшену копію. Поверніть власника теці
з фотографіями (ім’я користувача залежить від хостингу — зазвичай www-data або
www):
chown -R www-data:www-data storage/app/public
Зменшені копії магазин робить не заздалегідь, а під час першого звернення до фотографії. Порожній перелік розмірів у щойно завантаженого товару — це норма, а не поломка.
Не йдуть листи покупцям
Перевірте по черзі:
- Планувальник. У діагностиці є рядок про нього. Листи ставляться в чергу, а чергу розбирає планувальник — немає рядка cron, немає листів. Див. Обслуговування.
- Налаштування пошти. «Налаштування» → «Канали зв’язку» → «Пошта». Надішліть пробний лист звідти: магазин покаже відповідь поштового сервера повністю.
- Журнал сповіщень. Там видно кожне надіслане повідомлення та причину відмови, якщо сервер лист не прийняв.
Окремий випадок: листи значаться надісланими, а одержувач їх не бачить. Майже завжди це поштовий сервер, який прийняв лист і відкинув його сам — найчастіше через те, що адресу відправника не підтверджено записами домену (SPF і DKIM).
Завдання накопичуються й не виконуються
Діагностика показує кількість завдань у черзі. Зростає й не зменшується — планувальник не запускається: перевірте рядок cron у панелі хостингу.
Якщо рядок стоїть, але завдання все одно не розбираються, подивіться
«Системний» → «Логування»: там видно, з якою помилкою падає завдання.
Часта причина на масових хостингах — заборона на запуск окремих програм; магазин
це обходить сам, але іноді заборону треба оголосити йому явно рядком
CARTIX_SPAWN_PROCESSES=false у файлі налаштувань.
Після оновлення сторінка не відкривається
Найімовірніше, сервер виконує попередню версію файлів: PHP тримає скомпільований код у пам’яті (OPcache) і не перечитує його сам. Перезапустіть PHP-FPM у панелі хостингу — зазвичай це кнопка «Перезавантажити» біля версії PHP.
Друге за частотою — незавершене оновлення. Магазин пише про це прямо: «оновлення обірвалося, магазин працює на попередній версії». Запустіть його ще раз, попередньо звільнивши місце на диску.
«Сторінку не знайдено» на всіх адресах, крім головної
Не налаштоване правило веб-сервера. Для nginx потрібне:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Для Apache — перевірте, що файл .htaccess у теці public доїхав під час
завантаження (файлові менеджери часто ховають файли, що починаються з крапки) і
що в налаштуваннях сайту дозволено його читати.
Магазин просить встановлення, хоча він уже встановлений
Таке буває, коли магазин перенесли на інший сервер без файлу .env або без бази.
Перевірте, що файл на місці й у ньому вказано доступ до тієї бази, де лежать
товари та замовлення. Якщо і файл, і база на місці, а встановлювач усе одно
відкривається — скиньте збережені налаштування:
php artisan optimize:clear
Зміни в налаштуваннях не застосовуються
Магазин запам’ятовує налаштування та розмітку вітрини. Після правки файлів на
сервері очистіть збережене: «Системний» → «Обслуговування» → «Очистити кеш»
або командою php artisan optimize:clear.
Куди дивитися далі
- «Системний» → «Логування» — журнали магазину, сервера й пошти з пошуком за текстом. Помилку зручніше шукати тут, ніж у файлах на сервері.
- «Системний» → «Інформація про систему» — версії PHP і бази, налаштування сервера, вільне місце.
Якщо нічого не допомогло, напишіть нам на support@cartixx.com і додайте те, що показує діагностика: з цими відомостями розбір займає хвилини, а без них починається з питань.