MEVCORE

Помилка 500 Internal Server Error: причини і як виправити

Оновлено 09.10.2026

Помилка 500 Internal Server Error означає, що сервер отримав запит, але не зміг його обробити через збій на боці сайту. Сам код помилки нічого не каже про причину — її потрібно знайти в журналах.

Крок 1. Подивіться журнал помилок

Точна причина майже завжди записана в журналі помилок вебсервера або PHP:

Відкрийте сторінку з помилкою ще раз і подивіться останні рядки журналу — там буде файл і рядок, на якому стався збій.

Найчастіші причини

Помилка у файлі .htaccess

Одна неправильна директива в .htaccess ламає весь сайт. У журналі буде запис на кшталт Invalid command або RewriteRule: bad flag delimiters. Тимчасово перейменуйте файл на .htaccess.bak: якщо сайт запрацював — проблема в ньому. Перевірити синтаксис можна нашим валідатором .htaccess.

Фатальна помилка PHP

Записи PHP Fatal error, Uncaught Error, Call to undefined function означають помилку в коді. Часто це трапляється після оновлення плагіна чи теми або після зміни версії PHP: старий код не сумісний з PHP 8.x. Поверніть попередню версію PHP або оновіть проблемний модуль.

Не вистачає пам'яті

Allowed memory size of ... bytes exhausted — скрипту не вистачило ліміту memory_limit. Збільште його в налаштуваннях PHP (наприклад, до 256M) або знайдіть плагін, який споживає забагато пам'яті.

Неправильні права на файли

Якщо права занадто широкі (наприклад, 777), частина серверів відмовляється виконувати скрипти з міркувань безпеки. Рекомендовані права: 755 для каталогів і 644 для файлів. На VPS:

find /var/www/site -type d -exec chmod 755 {} \;
find /var/www/site -type f -exec chmod 644 {} \;

Відсутнє розширення PHP

Помилки на кшталт Class "PDO" not found або Call to undefined function mb_strlen() означають, що потрібне розширення PHP вимкнене. Увімкніть його в налаштуваннях PHP панелі керування.

Якщо журнал порожній

Увімкніть показ помилок тимчасово — тільки на час діагностики. Для WordPress у wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Помилки з'являться у файлі wp-content/debug.log. Після виправлення поверніть WP_DEBUG у false.

Якщо не вдається знайти причину, створіть тікет у підтримці та вкажіть адресу сторінки й час, коли з'явилася помилка, — ми перевіримо журнали сервера.

Не знайшли відповідь?

Опишіть завдання, додайте текст помилки та скриншот — команда підтримки допоможе знайти наступний крок.

Як до вас звертатися?

Введіть ім’я, перш ніж почати діалог.

Вітаємо! Напишіть ваше питання — оператор відповість якнайшвидше.
Оцініть відповідь оператора