Помилка internal server error: що це і як з нею боротися
Відео: Помилка 500
Досить часто власники хостингів мучаться через постійне виникнення повідомлення про помилку 500 (Internal Server Error). Вона, як це називається, багатьом просто отруює життя. Зараз ми спробуємо коротко розібратися в суті самої ситуації і подивимося, як же можна позбутися від появи помилки в майбутньому.
Помилка Internal Server Error: що це?
Отже, почнемо, мабуть, з самого значення цього словосполучення. В системі (каталозі) помилок Windows (і не тільки) є помилка під номером 500, що відповідає комп`ютерного терміну Internal Server Error. Переклад цього словосполучення означає внутрішню помилку сервера, пов`язану зі статусом протоколу HTTP.
По суті, помилка означає, що програмне забезпечення сервера або не працює, або працює, але один або кілька його компонентів дають збої у вигляді відмови на клієнтські запити, наприклад, пошукової системи або інтернет-браузера.
Причини виникнення помилки
Говорячи про помилку Internal Server Error в найширшому розумінні, варто враховувати, що виникатимуть вона може на безлічі сайтів або ресурсів, написаних за допомогою абсолютно різних CMS. Тут, до речі, потрібно розмежувати причини її виникнення.
Дуже часто така ситуація може спостерігатися на сайтах типу WordPress, OpenCart, Joomla та ін. Якщо ж структури управління, подібні WordPress, при побудові сайту не використовуються, можливо, причина криється в тому, що на самому хостингу виникають збої при підключенні неправильних PHP-розширень , або сайт після запиту повертає некоректні HTTP-заголовки, які не можуть бути розпізнані вашим сервером.
Не менш поширеною причиною виникнення помилки Internal Server Error можна назвати відсутність коректних прав доступу. Так, наприклад, якщо на PHP файли скриптів, які розміщені на хостингу, мають права доступу 777, дуже може бути, що їх виконання просто блокується сервером, внаслідок чого і видається повідомлення про помилку.
Також однією з причин може бути досить довга робота скриптів. Справа в тому, що PHP-обмеження за часом виконання діють не тільки по відношенню до хостингу, подібні ліміти можуть виставлятися і з боку сервера. Іншими словами, це дещо нагадує тайм-аут операції. Коли сервер протягом певного часу не отримує відповіді на запит, він просто блокує виконання скрипта.
Відео: Оновлення Youtube, І Помилка 500 internal server error
У деяких випадках помилка Internal Server Error може з`являтися, коли на хостингу спостерігається перевищення ліміту використовуваної пам`яті. Попросту кажучи, скрипт для виконання вимагає більше, ніж треба, але ж такий ліміт встановлюється не тільки на PHP, найчастіше діють обмеження по споживанню ресурсів усіма виконуваними скриптами.
Нарешті, одна з найпоширеніших ситуацій виникнення помилки Internal Server Error - це зміст некоректних директив у файлі .htaccess (до речі, при роботі з движком WordPress це проявляється найбільш часто). Ось тепер ми впритул підійшли до пошуку рішення для кожної конкретної ситуації.
Помилка Internal Server Error: як виправити найпростішими способами
Для початку подивимося, що можна зробити при виявленні неправильних прав доступу. В даному випадку права доступу 777 дозволяють редагувати вміст абсолютно всім, що, безсумнівно, позначається на безпеці. У такій ситуації необхідно їх змінити, застосувавши до папок значення 755, до файлів скриптів - 600, а до всіх сталевим файлів даних - 644.
При занадто довгій роботі виконуваного скрипта можна спробувати збільшити час очікування, правда, тут є одна заковика. Таке рішення може спрацювати на виділеному сервері або VPS (Virtual Private Server), а в разі віртуального хостингу ніякого ефекту не буде.
Що стосується завищеного споживання пам`яті в порівнянні з обмеженнями, що діють на хостингу, тут можна порадити тільки звернутися в службу підтримки або ж просто змінити самого хостинг-провайдера, у якого обмеження будуть не такими жорсткими.
Тепер кілька слів про файлі .htaccess. Справа в тому, що він передбачає використання дуже суворого синтаксису, якщо при проведенні налаштувань були допущені помилки або деякі неточності, уникнути появи помилки Internal Server Error не вдасться. Тут потрібно поступити таким чином. Для початку потрібно перевірити наявність самого файлу в кореневій директорії сайту, після чого, зробивши його резервну копію, видалити цілком і повністю. Якщо після такої процедури сайт знову стане працездатним, значить проблема саме в файлі .htaccess, який доведеться перевірити на наявність помилок в синтаксисі.
Проблеми з двигуном WordPress
З WordPress справа йде гірше. Справа в тому, що цей движок здатний перезаписувати оригінальний файл .htaccess, який відповідає за управління доступом до файлів і папок хостингу, але ж оригінальний файл повинен створюватися лише один раз, і тим більше не в WordPress!
Найпростішим способом виправлення такої ситуації є відключення теми WordPress і використання замість неї будь-якої іншої. Якщо помилка зникла, справа саме в самій темі, якщо ні - потрібно поетапно відключати плагіни WordPress і перевіряти, який з них впливає на працездатність.
У деяких випадках може знадобитися оновити WordPress до останньої версії і відключити функцію перезапису файлу. Для початку завантажуємо на комп`ютерний термінал оригінальний файл .htaccess, потім входимо на сайті в папку шляхом / wp-admin / includes / с наступним завантаженням файлу misc.php, який необхідно відкрити, скажімо, в стандартному «Блокноті» (або будь-якому іншому текстовому редакторі) і знайти рядок функції «function save_mod_rewrite_rules». Тепер в самій функції переходимо до рядка «return insert_with_markers ($ htaccess_file, `WordPress`, $ rules) -» і замінюємо її на «return true-» (природно, все команди прописуються без лапок). Залишається тільки зберегти зміни і завантажити новий файл на хостинг з заміною старого файлу misc.php.
Недоліком такого методу є тільки те, що в даному випадку відключається оновлення WordPress. При підключенні плагінів вони працювати, природно, не будуть.
висновок
В принципі, це, так би мовити, найбільш поширені причини появи помилки і методи її усунення. Насправді, що причин, що способів боротьби з такими ситуаціями може бути дуже багато, так що, доведеться аналізувати ситуацію в кожному конкретному випадку, а тільки потім вибирати, яку саме методику для виправлення помилки використовувати.