Коротка відповідь: HTTP 500 — це застосунок, що каже «я впав», і відповідь завжди в лозі помилок. Перевірте лог вебсервера та лог PHP-FPM, відтворіть запит і прочитайте найновіші рядки: синтаксична помилка, фатальний виняток, проблема прав чи зламаний .htaccess будуть названі там явно.
Огляд
На відміну від 502/504 (застосунок не відповів), 500 означає, що застосунок відповів «internal error». Причина у вашому коді, конфігурації чи правах — і вона залогована. Вгадування без логів марнує час; читання розвʼязує більшість 500-х за хвилини.
Що потрібно мати
- Доступ по SSH і розуміння свого стека (nginx+PHP-FPM, Apache, під панеллю...).
Покрокова інструкція
- Дивіться логи, відтворюючи помилку:
(Apache:sudo tail -f /var/log/nginx/error.log /var/log/php8.3-fpm.log/var/log/apache2/error.log; панелі тримають пер-сайтові логи у своєму каталозі.) - Перезавантажте проблемну сторінку й прочитайте найновіший запис — PHP-фатали називають файл і рядок.
- Відкотіть останню зміну: деплой, оновлення плагіна/теми чи правка конфіга безпосередньо перед 500 — причина, поки не доведено протилежне.
- Перевірте права/власника, якщо файли копіювалися від root:
sudo chown -R www-data:www-data /var/www/yoursite - Для WordPress (плагіни, .htaccess, ліміт памʼяті) — окремий гайд по WordPress 500.
- Перевірка синтаксису конфіга після правок:
sudo nginx -t
Типові проблеми
- Порожній лог помилок: ви читаєте не той лог — перевірте, який vhost обслуговує домен.
- 500 лише на деяких URL: rewrite-правила чи конкретний скрипт — лог усе одно їх назве.
- Повний диск: застосунки падають на півдорозі й кидають 500 — перевірте
df -hодразу. - Розсинхрон версії PHP після оновлення: старий код + новий PHP = фатали; вирівняйте версію по сайту.
Коли звертатися в підтримку
Код застосунку на unmanaged-сервері — на боці клієнта, але якщо логи вказують на платформу (помилки сховища, ресурси) або ви взагалі не можете дістатися логів, — відкрийте тикет із точним URL, часом і витягом із лога.
Часті запитання
Де знайти причину помилки 500?
У логах помилок вебсервера та PHP — 500 завжди логуються з деталями. Використайте tail -f на логах, перезавантажуючи проблемну сторінку; найновіший запис назве файл, рядок чи правило, що впало.
500 зʼявилася одразу після оновлення — збіг?
Майже ніколи. Деплой, плагін, тема чи зміна конфіга безпосередньо перед помилкою — причина, поки не доведено протилежне. Спершу відкотіть, потім спокійно розберіться з несумісністю.
Схожі статті
- Як виправити помилку 500 у WordPress
- Сайт видає 502 Bad Gateway
- Сайт видає 504 Gateway Timeout
- Як зібрати логи для підтримки
Потрібна допомога? Звернутися в підтримку Cloud2Y →
