Як і будь-яка помилка, що з'являється на будь-якому веб-сайті, внутрішня помилка сервера Magento 2 500 впливає на враження клієнтів, трафік та конверсії. Хоча іноді вона може зникнути після перезавантаження сторінки, вам слід вжити заходів для її негайного усунення, щоб вона не впливала на трафік вашого магазину протягом кількох годин.

Це одна з найпоширеніших Помилки Magento . Тож перш ніж ми перейдемо до рішення для виправлення внутрішньої помилки сервера 500 у Magento 2, вам слід знати, що це таке. 

Що таке внутрішня помилка сервера 500 у Magento 2?

Внутрішня помилка сервера Magento – це загальний код стану HTTP, який з'являється, коли ви переходите за правильною URL-адресою або натискаєте на посилання веб-сайту та запитуєте сторінку з сервера. Щось пішло не так, і сервер не може повернути запитувану сторінку та не знає, у чому проблема.

 Внутрішня помилка сервера Magento 2

Оскільки сервер нічого не знає про проблеми та відображає лише внутрішню помилку сервера 500, вам слід отримати доступ до журналів помилок сервера та перевірити більше інформації про цю проблему.

А ось найпоширеніші причини появи внутрішніх помилок сервера.

Причини внутрішньої помилки сервера Magento 2 500

Виправлення внутрішньої помилки сервера в Magento не обмежується лише пошуком причини проблеми, оскільки існує чимало причин її появи:

  • Проблема з дозволами
  • Обмеження пам'яті
  • Відсутні модулі
  • Проблеми у файлі .htaccess
  • Розширення сторонніх розробників

Як виправити внутрішню помилку сервера Magento 2?

Виходячи з причин цієї проблеми, існують такі рішення. Однак, перш ніж вживати будь-яких дій, увімкніть режим розробника та розкоментуйте наступний рядок

#ini_set('display_errors', 1);

у файлі app/bootstrap.php , щоб легко налагоджувати Magento та отримувати детальні винятки у журнал помилок .

Рішення №1 Зміна дозволів файлу

Проблема з внутрішнім сервером Magento найчастіше виникає, коли ви намагаєтеся отримати доступ до панелі адміністратора Magento або менеджера підключень, коли файли дозволів Magento налаштовані неправильно.

Після встановлення Magento дозвіл за замовчуванням для файлів індексу становить 664, що має бути 644.

Щоб змінити дозволи файлів за замовчуванням з 664 на 644, перейдіть до файлу index.php у кореневому каталозі Magento та виконайте такі команди.

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
find ./var -type d -exec chmod 777 {} \;
find ./pub/media -type d -exec chmod 777 {} \;
find ./pub/static -type d -exec chmod 777 {} \;
chmod 777 ./app/etc
chmod 644 ./app/etc/*.xml
chmod u+x bin/magento

Рішення №2 Збільшення ліміту пам'яті

Для коректної роботи платформи Magento потрібні певні системні можливості. Це включає певні обмеження пам'яті PHP. Зазвичай Постачальники хостингу Magento встановлюють обмеження пам'яті за замовчуванням, наприклад, на 20 МБ або 60 МБ, чого недостатньо для Magento.  

Щоб виправити внутрішню помилку сервера Magento 500, вам потрібно збільшити значення php_memory_limit до 756 МБ у файлах php.ini або .htaccess.

Для цього:

  • Увійдіть на сервер вашого веб-сайту за допомогою SSH.
  • Знайдіть папку з файлом php.ini та відкрийте його через редактор vi.
  • Додайте наступний рядок
memory_limit = 756M
  • Або збільште його, якщо значення занадто мале.

В іншому випадку:

  • Увійдіть на сервер вашого веб-сайту за допомогою SSH.
  • Додайте наступні рядки до файлу .htaccess.
</IfModule>

Рішення №3 Перейменуйте файл .htaccess

Конфігурація файлу .htaccess також дуже важлива, оскільки будь-які помилки та друкарські помилки можуть спричинити проблеми, включаючи внутрішню помилку сервера Magento 2 500. Проблеми у файлі .hraccess виникають під час встановлення плагінів, патчів або тем і вимагають правильної конфігурації.

Спробуйте видалити або перейменувати файл .htaccess, щоб перевірити, чи буде виправлено проблему.

Рішення №4 Вимкнення сторонніх розширень

Внутрішня помилка сервера в Magento може з'явитися після встановлення сторонніх розширень Розширення Magento або оновлення деяких із них. Зазвичай це конфлікт між новим розширенням або версією та існуючими модулями у вашому магазині.

Виконайте таку команду, щоб вимкнути розширення:

 php bin/magento mod:disable VenorName_ModuleName

Після запуску зверніться до постачальника, щоб отримати детальну інформацію та виправлення.

Рішення №5 Вимкнення режиму обслуговування

Коли ви вмикаєте режим обслуговування, файл maintenance.flag розміщується в кореневій папці Magento. Це змінює дозвіл файлу index.php на 666, який веббраузери не можуть виконати.

Виконайте наступну команду, щоб видалити файл maintenance.flag та змінити дозвіл в index.php на 755.

php bin/magento maintenance:disable

Це основні причини та рішення для внутрішньої помилки сервера Magento 2, які допоможуть вам її вирішити.

Рано чи пізно кожен розробник Magento стикається з нею, коли усунення несправностей Magento . Однак, прочитавши цю статтю, ви будете готові визначити причину та вибрати одне з вищезазначених рішень.