Статус HTTP 500

Простими словами, помилка 500 — це повідомлення від веб-сервера про те, що "щось пішло не так, а що саме - невідомо". Отримавши повідомлення про цю помилку, неможливо одразу сказати, що саме і де на сервері заважає правильному відображенню сайту (або імпорту файлів і под.). Причиною проблеми може бути помилка у коді, неправильно встановлені права і не тільки.


Як знайти, у чому проблема?

Недивлячись на малослівність сервера, є способи дізнатись більше про помилку. Веб-сервери майже завжди налаштовані на те, щоб приховувати подібну інформацію про помилки. Потрібно ввімкнути відображення помилок (error reporting), щоб отримати цю інформацію.


Як ввімкнути відображення помилок у PrestaShop


  • PrestaShop v1.4 - v1.5.2
    У файлі config/config.inc.php в рядку 29 (або трохи вище або нижче) наступний код:
    @ini_set('display_errors', 'off');
    замінити на:
    @ini_set('display_errors', 'on');
  • PrestaShop v1.5.3
    У файлі config/defines.inc.php в рядку 28 (або трохи вище або нижче) наступний код:
    define('_PS_MODE_DEV_', false);
    заменить на:
    define('_PS_MODE_DEV_', true);

Після цього можна перейти до сторінки, на якій відображалась помилка 500 (або повторити дії, щоб викликати її знову) і подивитись, яка інформація буде відображена.


Як вирішити проблему?

Отримавши додаткову інформацію про помилку, можна почати її вирішувати. Найчастіші причини появи цієї помилки:

Права доступу: Спробуйте змінити права доступу до папок з 777 на 755 і навпаки. У більшості випадків встановлювати права 777 не рекомендується, тому що це дозволяє менш досвіченим хакерам отримати доступ до ваших файлів і вставити туди вірусний код. На нашому хостингу встановлення прав 777 менш небезпечно, оскільки для доступу до клієнта FTP все одно потрібно мати пароль, який знає тільки власник акаунту.

Неправильні налаштування в .htaccess: Що стосується PrestaShop, головними винуватцями помилки 500 можуть бути налаштування URL Rewrite або ввімкнена функція Friendly URL. Навіть найменша помилка в синтаксисі файлу .htaccess може стати причиною помилки 500. Перед внесенням змін у цей файл обовʼязково зробіть його резервну копію.
Якщо у Вашому .htaccess є рядки, які починаються з "php_value" і "php_flag", то для роботи на нашому хостингу ви повинні їх видалити або закоментувати.

Обмеження часу виконання програмного сценарію (скрипту):зазвичай на хостингах обмеження часу виконання скрипту (max_execution_time) складає 30 секунд. На mintme.host він підвищений і складає 45 секунд. Частіше за все проблема з перевищенням цього обмеження у Prestashop виникає у процесі імпорту CSV-файлів, створення резервних копій і под.

Якщо після розгляду цих причин проблему не вдалося вирішити, потрібно глянути на логи помилок веб-сервера і РНР. Якщо у вас не VPS, а звичайний (платний або безплатний) хостинговий акаунт, напишіть до служби підтримки хостингу: {supportMail} або відкрийте тему в панелі керування (Панель керування - Підтримка — Створити тему).



Підтримка


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