Усунення помилки HTTP 500 Внутрішньої помилки сервера на вашому вебсайті

by Luke Odom
Усунення помилки HTTP 500 Внутрішньої помилки сервера на вашому вебсайті thumbnail

Майже у кожного (не дуже) улюблена розмова виникає майже кожної п’ятниці ввечері — коли ви вже далеко за межами голоду і переходите в режим злості.

“Що ви хочете на вечерю?”

“Хмм, я не знаю. Що ти хочеш на вечерю?”

Ну, HTTP 500 внутрішня помилка сервера є такою ж результативною. 

Це загальне повідомлення ви побачите, коли сервер зіткнеться з помилкою, яку він не може відразу пояснити.

Процес очищення помилки внутрішнього сервера 500 з вашого вебсайту дивно схожий на планування вечері в п’ятницю.

Це все про роботу над можливими рішеннями — піца, паста, каша? — доки ви не вирішите вашу проблему з сервером.

У цьому посібнику ми розповімо, що таке помилка внутрішнього сервера 500, і розглянемо деякі можливі причини. Потім ми дамо вам 10 порад, які допоможуть вам повернути ваш сайт до робочого стану.

Почнімо!

Розуміння HTTP 500 внутрішньої помилки сервера та чому це важливо

Вікно браузера Chrome з повідомленням '500 Внутрішня помилка сервера' на порожній білій сторінці.

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

Ви не отримуєте багато деталей про це, коли це відбувається. Насправді, ви можете не отримати жодної інформації зовсім. Незважаючи на свою назву, проблема може навіть не бути пов’язаною з сервером. Це може бути також проблемою з вашим сайтом або вашим браузером.

Помилка HTTP 500 зазвичай означає, що проблема не відповідає жодному іншому коду помилки, такому як один із багатьох кодів 300, 400 або навіть інші 500 коди.

Що б не означала помилка, важливо швидко з’ясувати її причину, адже коли ваш сайт не працює, ви можете втрачати потенційний трафік та продажі. Якщо він буде недоступний деякий час, це також може негативно вплинути на пошукову оптимізацію (SEO), над якою ви так старанно працювали.

Глосарій DreamHost

SEO

Оптимізація для пошукових систем (SEO) покращує позиціонування сайту в результатах пошуку, які базуються на релевантності та якості. Оптимізація цих факторів підвищує рейтинги.

Читати більше

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

Ця помилка також може зашкодити вашому досвіду користувача (UX), створюючи враження у відвідувачів, що ваш сайт непрофесійний, або ще гірше… ненадійний. Поганий UX не тільки вплине на ваш рейтинг у Google, але й призведе до втрати клієнтів. Адже вести бізнес неможливо, якщо ваш сайт не доступний!

Помилка HTTP 500 може бути викликана багатьма різними причинами, що робить її вирішення досить складним завданням. Серед можливих причин внутрішньої помилки сервера 500 можуть бути:

  • Проблеми з сумісністю Plugins/plugin для WordPress сайтів.
  • Пошкоджені файли.
  • Помилки кодування або синтаксису.
  • Перевищено ліміт пам’яті PHP.
Глосарій DreamHost

PHP

PHP (Hypertext Preprocessor) — це відкрите програмування скриптової мови, яке використовується у веб-розробці та може бути вбудоване в HTML. Воно є основою популярних CMS, таких як WordPress.

Читати далі

На щастя, багато з цих проблем ви можете вирішити самостійно з допомогою невеликої підтримки. (Яку ми незабаром надамо.)

Варіації цієї 500 помилки

Залежно від вашої операційної системи, браузера та причини помилки, існують різні способи відображення помилок 500. Наприклад, ви можете побачити щось наступне:

Вікно з повідомленням про помилку '500 Внутрішня помилка сервера' червоним кольором та пояснювальним текстом нижче на світлому фоні

Простий білий екран, який іноді називають Білим екраном смерті (WSoD), також може вказувати на внутрішню помилку сервера 500.

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

10 способів виправити код помилки 500

Тепер, коли ви ознайомилися з внутрішньою помилкою сервера 500, настав час обговорити, як її вирішити.

Ми почнемо з більш доступних рішень, перш ніж перейти до більш технічно складних.

1. Спробуйте перезавантажити сторінку

Почнімо з найпростішого, найкращого варіанту.

Деякі ситуації призводять до того, що 500 внутрішня помилка зникає сама по собі протягом кількох хвилин.

Наприклад, якщо ви щойно внесли зміни до plugin або theme на сайті WordPress, або якщо ваш хостинг переживає незвичайно високий трафік, ви можете побачити помилку сервера. Якщо це стосується вашого випадку, вам пощастило!

Просте перезавантаження сторінки має все нормалізувати.

Отже, перше, що ви повинні спробувати, це просто зачекати хвилину або дві, під час яких помилка може сама вирішитися. Потім ви можете спробувати перезавантажити сторінку, натиснувши F5 або (command + R, якщо ви користуєтеся Mac).

Отримуйте вміст безпосередньо у свою скриньку

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

2. Очистіть кеш вашого браузера

Ще один потенційно швидкий і легкий спосіб вирішити проблему зі статус-кодом 500 — очистити кеш вашого браузера. Можливо, кеш був пошкоджений, що могло б спричинити проблеми при спробі доступу до будь-якого веб-сайту. І не тільки вашого.

Перш за все, вам може бути корисно перевірити зручний сайт Down For Everyone Or Just Me. Це дозволить вам дізнатися, чи це масова проблема, або ж проблеми виникли лише у вас.

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

У більшості браузерів ви можете розпочати процес очищення вашого кешу, натиснувши Ctrl + Shift + Delete.

У Google Chrome ви можете натиснути на три вертикальні крапки у верхньому правому куті. Звідти знайдіть Очистити дані перегляду у меню, зробіть свій вибір та натисніть кнопку Очистити дані .

Спливаюче вікно налаштувань Chrome для очищення історії перегляду, показує опції для cookies, кешованих файлів та інших даних.

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

Але якщо ви досі бачите помилку 500 внутрішнього сервера, настав час переходити до більш складних рішень.

3. Зробіть резервну копію вашого сайту

Перед тим як почати налаштування «під капотом», завжди розумно створити резервну копію вашого сайту.

Якщо ваш сайт розміщено на DreamHost, ви можете скористатися нашою функцією резервного копіювання в один клік. Якщо ні, або якщо ви не можете увійти через помилку 500, не хвилюйтеся. Ви все одно можете створити резервну копію вручну.

Для цього вам потрібно зберегти копії файлів вашого сайту, а також ваших баз даних.

Спочатку знайдіть свої дані для Secure File Transfer Protocol (SFTP) у своєму акаунті хостингу вебсайту. Якщо ви не впевнені, де їх шукати, запитайте у свого провайдера деталі.

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

Інтерфейс FTP FileZilla з виділеною опцією «Швидке підключення» та статусом підключення, структури локальних емоційних каталогів.

Тепер вам потрібно створити папку, яка буде зберігати ваші резервні файли у FileZilla. Клацніть правою кнопкою миші в верхньому лівому квадранті, виберіть Створити каталог та назвіть ваш новий файл.

Далі вам просто потрібно перетягнути файли, які ви хочете зберегти, з правого верхнього квадранта у вашу нову папку з лівого боку. Якщо ви не впевнені, що вибрати, візьміть цілу папку, на якій написано назву вашого сайту.

Завантаження, яке ви розпочали, ймовірно, займе деякий час, але як тільки ви закінчите, ви зможете приступити до резервного копіювання вашої бази даних!

Ми покажемо вам, як це зробити за допомогою WordPress.

Поверніться до вашого облікового запису хоста та знайдіть та увійдіть у інструмент phpMyAdmin. Знайдіть та виберіть базу даних вашого веб-сайту в лівій бічній панелі. Це відкриє вашу базу даних.

Інтерфейс phpMyAdmin, що демонструє вибрану базу даних "tylhak_dream_press" та різні назви таблиць у лівій бічній панелі.

Тепер перейдіть до вкладки Експорт у верхній частині екрану. Виберіть швидкий метод та натисніть кнопку Експорт.

Коли ваше завантаження завершено, ви повністю забезпечені резервним копіюванням!

Інтерфейс phpMyAdmin з вибраним пунктом "Швидко - показати лише мінімальні опції" та виділеною вкладкою "Експорт".
Схожа стаття
Як зробити резервну копію вашого сайту WordPress (3 методи)
Читати далі

4. Доступ до ваших логів помилок

Логи помилок вашого сайту можуть надати інформацію щодо причин виникнення помилки 500. Залежно від вашого хостингу, ці логи можуть оновлюватися досить часто, тому вам варто переглянути їх якомога швидше — і навіть тоді ви не завжди зможете знайти необхідну інформацію, але варто спробувати!

Ви можете перевірити свої логи помилок, отримавши доступ до файлів вашого сайту через SFTP знову і відкривши файл логів.

Коренева директорія сайту WordPress з доступом через SFTP, з папками як .cache, логи, .php, .wp-cli, тощо.

Тут виберіть сайт, на якому виникла помилка. Ви можете побачити кілька каталогів. Завантажте той, який має найсвіжішу дату.

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

Якщо ви користувач WordPress, іншим чудовим варіантом є увімкнення журналу відлагодження WordPress. Ви можете зробити це, підключившись до свого сайту через SFTP, відкривши файл із назвою вашого сайту та знайшовши файл wp-config.php всередині.

У ньому знайдіть наступний рядок (command + F на Mac або Ctrl+Shift+F на Windows буде корисним тут):

define('WP_DEBUG', false);

Фрагмент файлу конфігурації WordPress з константою WP_DEBUG, встановленою на false на рядку 89.

Як тільки ви знайдете це, замініть наступним:

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

Це створить файл debug.log, який ви зможете знайти у директорії /wp-content/. Просто не забудьте змінити значення WP_DEBUG назад на false, коли закінчите усунення проблем.

5. Перевірте наявність помилки “Error Establishing a Database Connection”

Якщо ваша помилка пов’язана з проблемою встановлення з’єднання з базою даних, не тільки ваш сайт буде недоступний для відвідувачів, але ви також не зможете отримати доступ до Панель керування WordPress.

Кілька факторів можуть бути причиною цього:

  • Неправильні дані для входу в базу даних.
  • Пошкоджена база даних вебсайту.
  • Пошкоджений файл встановлення вебсайту.

Почнімо з неправильних даних для входу, оскільки це поширена причина помилки підключення до бази даних. Якщо ви користувач DreamHost, ви можете знайти свої дані для входу до бази даних у вашій панелі. Навіть якщо ви користуєтесь іншим хостингом, ймовірно, ви слідуватимете подібній процедурі.

Перейдіть до MySQL баз даних та знайдіть ту, що відповідає вашому веб-сайту в розділі База(и) даних на цьому сервері. Тут ви знайдете назву вашої бази даних під заголовком База даних. Ім’я користувача вказано в стовпці Доступ користувачів.

Щоб знайти пароль, клацніть на ім’я користувача. На наступному екрані прокрутіть вниз та клацніть на кнопку Показати поруч із полем пароля.

Далі, вам слід порівняти ці дані з тими, що вказані у вашому файлі wp-config.php.

Як ви пам’ятаєте з останнього кроку, ви можете отримати доступ до цього файлу в основному каталозі вашого сайту через SFTP. Знайдіть файл з назвою вашого сайту та розташуйте файл wp-config.php всередині. Відкрийте або завантажте файл та переконайтеся, що інформація в розділі MySQL Settings відповідає тому, що ви знайшли у вашій панелі.

Код конфігурації бази даних WordPress з визначеннями змінних для назви бази даних, імені користувача та пароля.

А тепер що, якщо ваша база даних пошкоджена?

Ви можете швидко виправити це, повернувшись до phpMyAdmin. Увійдіть в систему та клікніть на вашу базу даних у лівій панелі. Виберіть усі таблиці в базі даних, використовуючи прапорець Вибрати всі під ними. У випадаючому меню праворуч, під розділом Обслуговування таблиць, виберіть Виправити таблицю. Перед тим як продовжити, переконайтеся, що у вас є робоча резервна копія (дивіться крок 3).

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

Далі, отримайте доступ до файлів вашого сайту через SFTP, та видаліть папку wp-content та файл wp-config-sample.php.

Нарешті, завантажте решту файлів на ваш сайт через SFTP, замінивши всі існуючі.

Результат? Тепер у вас є абсолютно нова, не пошкоджена інсталяція WordPress!

Щоб переконатися, що це оновлення набуло чинності, очистіть кеш вашого браузера перед тим, як перевіряти ваш сайт на наявність помилки знову.

6. Шукайте помилки дозволів

Якщо дозволи будь-яких ваших файлів встановлено некоректно, це призведе до помилки 500 внутрішнього сервера. Знову ж таки, ви можете перевірити та змінити ці дозволи, використовуючи SFTP.

У файлі з назвою вашого сайту клацніть правою кнопкою миші на будь-якому файлі та виберіть Дозволи на файл (це називається CHMOD з іконкою ключа поруч у DreamHost), щоб відкрити нове діалогове вікно. У цьому вікні ви можете перевірити та, за необхідності, встановити нові дозволи для файлу.

Меню з опціями для відкриття, завантаження, копіювання, перейменування, видалення тощо. CHMOD вибрано в розділі wp-content.

Зазвичай вам потрібно встановити для файлів значення 644 і для директорій та виконуваних файлів значення 755.

Якщо ви не впевнені щодо правильних значень, вам слід перевірити це у вашого хостинг-провайдера.

7. Збільште ліміт пам’яті PHP

Ще одна причина, чому ви можете бачити помилку 500 внутрішнього сервера, це якщо ви перевищили PHP ліміт пам’яті вашого сервера. Існує кілька способів збільшити ваш ліміт, і всі вони передбачають використання SFTP.

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

Для веб-сайтів WordPress ви можете зробити це через адміністративну панель WordPress. Зверніть увагу, що в деяких варіаціях помилки 500 ви не зможете отримати доступ до панелі. Якщо це так, вам, можливо, доведеться пропустити цей крок.

З вашої панелі керування WordPress перейдіть до Інструменти > Здоров’я сайту.

Меню «Інструменти» WordPress із виділеною опцією «Стан сайту» у випадаючому меню.

Клікніть на Інформація вгорі екрану, щоб перейти на сторінку Інформація про стан сайту, і прокрутіть вниз до розділу Сервер. Клікніть, щоб побачити ваш ліміт пам’яті PHP.

Щоб збільшити ліміт пам’яті PHP, існує кілька файлів, які ви можете редагувати. Один із них – файл .htaccess, який зазвичай розташований у кореневій директорії вашого сайту, до якої ви можете перейти через SFTP. (Примітка: Хостинг плани, які використовують Nginx, можуть не використовувати файл .htaccess. Якщо це так, ви можете пропустити цей крок.)

Відкрийте файл та додайте наступний код:

php_value memory_limit xxxM

Ви можете замінити «xxx» на бажану кількість пам’яті. Зазвичай, 256M достатньо.

Ви також можете збільшити ліміт пам’яті, відредагувавши ваш файл php.ini. Ви повинні знайти цей файл також у вашому кореневому каталозі. Якщо ні, ви можете створити його. Додайте або оновіть його код до наступного:

memory_limit = xxxM

Якщо ви відредагували файл php.ini, переконайтеся, що також внесли зміни у файл wp-config.php. Хоча ці ліміти технічно відокремлені, ліміт PHP не може бути нижчим за ліміт пам’яті WP.

Щоб виправити це, додайте наступний код на початок вашого файла wp-config.php:

define('WP_MEMORY_LIMIT', 'xxxM');

Якщо це вирішує помилку 500, вашим наступним завданням буде з’ясувати, що спричиняє вичерпання ліміту пам’яті.

Це може бути проблемний плагін або тема, якщо ви використовуєте WordPress. Для допомоги у пошуку точної серверної діагностики вам може знадобитися звернутися до вашого хоста.

8. Перевірте наявність проблем у вашому файлі .htaccess

Файл .htaccess, про який ми вже кілька разів згадували, є одним з основних файлів вашого сайту. Цей файл містить правила вашого сервера, тому він також може бути причиною помилки HTTP 500.

Якщо ваш файл .htaccess було пошкоджено, вам слід створити новий.

Почніть з входу на ваш сайт через SFTP і знайдіть файл .htaccess. Перейменуйте файл на .htaccess_old.

Меню файлу з опціями завантаження, вирізання, копіювання, перейменування тощо, а також перегляд властивостей для файлу .htaccess.old. Вибрано «Перейменувати».

Тепер, створіть новий файл .htaccess у вашому текстовому редакторі та вставте наступне:

# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

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

9. Пошук помилок кодування або синтаксису у вашому CGI/Perl скрипті

Якщо ви використовуєте скрипти Common Gateway Interface (CGI), будь-які помилки кодування або синтаксичні помилки, які ви допустили, можуть призвести до помилки 500. Щоб виявити потенційні проблеми з вашими CGI скриптами, увійдіть на свій сайт за допомогою Secure Shell (SSH). Ось як це зробити з DreamHost.

Після входу в систему ви можете усунути проблеми з вашим CGI за допомогою цієї команди:

[server]$ ./cgi_name.cgi

У цьому випадку термінал повинен вивести загальне повідомлення про помилку та номер рядка, де можна знайти причину. Звідти ви або ваші розробники зможете застосувати свої навички програмування!

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

Спочатку розумно використовувати простий текстовий редактор, щоб зберегти формат ASCII. Коли ви завантажуєте скрипти, ви також повинні мати можливість вибрати режим ASCII у вашому FTP клієнті.

Вікно налаштувань для передачі FTP. У розділі "Тип передачі за замовчуванням," встановлено ACSII.

Нарешті, якщо необхідно, завантажте в cgi-bin каталог на вашому сервері.

Потім, ви можете перевірити дозволи своїх файлів після їх завантаження.

10. Нарешті, запитайте у вашого веб-хоста про потенційні проблеми з сервером

Якщо жоден із методів не допоміг, можлива проблема з сервером, яку може підтвердити лише ваш хост. На жаль, якщо сервер вашого хоста зазнає проблем, вам доведеться почекати деякий час без роботи сайту.

Якщо ви клієнт DreamHost, ви можете перевірити сторінку стану DreamHost. Цей ресурс надає вам усю інформацію про кожну з наших послуг.

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

Якщо ви дотримувались порад у цьому посібнику, у вас вже є багато цінної інформації, яка допоможе техніку швидше вирішити вашу проблему!

З якими іншими помилками вебсайтів можемо ми допомогти?

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

Ось широкий вибір ресурсів для вас:

Тримайте ваш сайт на правильному шляху з DreamHost

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

Зіткнення з помилками, як ця, неминуче для власника веб-сайту. І правда в тому, що незалежно від того, наскільки ви досвідчені, завжди легше повернутися до роботи, коли у вас є дійсно корисний, надійний провайдер хостингу. (Це ми.)

DreamHost пропонує різноманітні варіанти хостингу, які забезпечують потужні можливості для безпеки та успіху вашого сайту — а також досвідчених розробників веб-сайтів будівельників, менеджерів, та інших фахівців, які можуть забезпечити, що ваш сайт рідко збивається з правильного шляху спочатку.

Отримуйте вміст безпосередньо у свою скриньку

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