Как исправить внутреннюю ошибку сервера 500 на вашем сайте WordPress

Опубликовано: 2017-12-25

Страшная внутренняя ошибка сервера 500. Кажется, что это всегда происходит в самое неподходящее время, и вы внезапно остаетесь в отчаянии, пытаясь понять, как вернуть свой сайт WordPress в онлайн. Поверьте нам, мы все были там. Другие ошибки, которые ведут себя аналогично, которые вы, возможно, также видели, включают пугающую ошибку при установлении соединения с базой данных и ужасный белый экран смерти. Но как только ваш сайт выходит из строя, вы теряете посетителей и клиентов. Не говоря уже о том, что это просто плохо выглядит для вашего бренда.

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

  • Что такое внутренняя ошибка сервера 500?
  • Как исправить внутреннюю ошибку сервера 500

Ознакомьтесь с нашим исчерпывающим руководством по устранению внутренней ошибки сервера 500

Что такое внутренняя ошибка сервера 500?

Инженерная рабочая группа Интернета (IETF) определяет внутреннюю ошибку сервера 500 как:

Код состояния 500 (внутренняя ошибка сервера) указывает на то, что сервер столкнулся с непредвиденной ситуацией, которая не позволила ему выполнить запрос.

Когда вы посещаете веб-сайт, ваш браузер отправляет запрос на сервер, на котором размещен сайт. Сервер принимает этот запрос, обрабатывает его и отправляет обратно запрошенные ресурсы (PHP, HTML, CSS и т. д.) вместе с заголовком HTTP. HTTP также включает в себя то, что они называют кодом состояния HTTP. Код состояния — это способ уведомить вас о статусе запроса. Это может быть код состояния 200, означающий «Все в порядке», или код состояния 500, означающий, что что-то пошло не так.

Существует множество различных типов кодов ошибок статуса 500 (500, 501, 502, 503, 504 и т. д.), и все они означают что-то свое. В этом случае внутренняя ошибка сервера 500 указывает на то, что сервер столкнулся с непредвиденной ситуацией, которая помешала ему выполнить запрос (RFC 7231, раздел 6.6.1).

500 внутренняя ошибка сервера в WordPress
500 внутренняя ошибка сервера в WordPress

500 вариантов внутренней ошибки сервера

Из-за различных веб-серверов, операционных систем и браузеров внутренняя ошибка сервера 500 может проявляться по-разному. Но все они сообщают одно и то же. Ниже приведены лишь некоторые из множества различных вариантов, которые вы можете увидеть в Интернете:

    • "500 - внутренняя ошибка сервера"
    • «HTTP 500»
    • "Внутренняя Ошибка Сервера"
    • «HTTP 500 — внутренняя ошибка сервера»
    • «Ошибка 500»
    • «Ошибка HTTP 500»
    • "500 - внутренняя ошибка сервера"
    • "500 - внутренняя ошибка сервера. Извините, что-то пошло не так."
    • «500. Это ошибка. Была допущена ошибка. Пожалуйста, попробуйте позже. Это все, что мы знаем."
    • «Веб-сайт не может отобразить страницу — HTTP 500».
    • «В настоящее время не может обработать этот запрос. ОШИБКА HTTP 500».

Вы также можете увидеть это сообщение, сопровождающее его:

Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос. Пожалуйста, свяжитесь с администратором сервера, [email protected] и сообщите им время возникновения ошибки и все, что вы могли сделать, что могло вызвать ошибку. Дополнительные сведения об этой ошибке можно найти в журнале ошибок сервера.

Internal Server Error
Внутренняя ошибка сервера

В других случаях вы можете просто увидеть пустой белый экран. При работе с 500 внутренними ошибками сервера это довольно часто встречается в таких браузерах, как Firefox и Safari.

500 внутренняя ошибка сервера в Firefox
500 внутренняя ошибка сервера в Firefox

Более крупные бренды могут даже иметь свои собственные 500 внутренних сообщений об ошибках сервера, например, это сообщение от Airbnb.

Внутренняя ошибка сервера Airbnb 500
Внутренняя ошибка сервера Airbnb 500

Вот еще один креативный пример ошибки сервера 500 от людей из readme.

readme 500 internal server error
readme 500 внутренняя ошибка сервера

Даже могучий YouTube не застрахован от 500 внутренних ошибок сервера.

500 внутренняя ошибка сервера на YouTube
500 внутренняя ошибка сервера на YouTube

Если это сервер IIS 7.0 (Windows) или более поздней версии, у них есть дополнительные коды состояния HTTP, чтобы более точно указать причину ошибки 500:

  • 500.0 — Произошла ошибка модуля или ISAPI.
  • 500.11 — Приложение закрывается на веб-сервере.
  • 500.12 — Приложение занято перезапуском на веб-сервере.
  • 500.13 — Веб-сервер слишком занят.
  • 500.15 — Прямые запросы к global.asax не допускаются.
  • 500.19 — Данные конфигурации недействительны.
  • 500.21 — Модуль не распознан.
  • 500.22 — конфигурация ASP.NET httpModules не применяется в режиме управляемого конвейера.
  • 500.23 — конфигурация ASP.NET httpHandlers не применяется в режиме управляемого конвейера.
  • 500.24 — конфигурация олицетворения ASP.NET не применяется в режиме управляемого конвейера.
  • 500.50 — Ошибка перезаписи во время обработки уведомления RQ_BEGIN_REQUEST. Произошла ошибка конфигурации или выполнения входящего правила.
  • 500.51 — Ошибка перезаписи во время обработки уведомления GL_PRE_BEGIN_REQUEST. Произошла глобальная ошибка конфигурации или выполнения глобального правила.
  • 500.52 — Ошибка перезаписи во время обработки уведомления RQ_SEND_RESPONSE. Произошло выполнение исходящего правила.
  • 500.53 — Во время обработки уведомления RQ_RELEASE_REQUEST_STATE произошла ошибка перезаписи. Произошла ошибка выполнения исходящего правила. Правило настроено на выполнение до обновления выходного пользовательского кэша.
    500.100 — внутренняя ошибка ASP.

Влияние 500 ошибок на SEO

В отличие от ошибок 503, которые используются для режима обслуживания WordPress и сообщают Google о проверке позже, ошибка 500 может оказать негативное влияние на SEO, если ее не исправить сразу. Если ваш сайт не работает всего, скажем, 10 минут, и он постоянно сканируется много раз, сканер просто получит страницу, доставленную из кеша. Или у Google может даже не быть возможности повторно просканировать его до резервного копирования. В этом случае у вас все в порядке.

Однако, если сайт не работает в течение длительного периода времени, скажем, более 6 часов, Google может рассматривать ошибку 500 как проблему на уровне сайта, которую необходимо решить. Это может повлиять на ваш рейтинг . Если вы беспокоитесь о повторяющихся 500 ошибках, вам следует для начала выяснить, почему они происходят. Некоторые из приведенных ниже решений могут помочь.

Как исправить внутреннюю ошибку сервера 500

С чего начать устранение неполадок, если вы видите внутреннюю ошибку сервера 500 на своем сайте WordPress? Иногда вы можете даже не знать, с чего начать. Обычно 500 ошибок происходят на самом сервере, но, по нашему опыту, эти ошибки возникают по двум причинам: во-первых, это ошибка пользователя (проблема на стороне клиента), а во-вторых, проблема с сервером . Итак, мы погрузимся немного в оба.

Ознакомьтесь с этими распространенными причинами и способами исправить внутреннюю ошибку сервера 500 и быстро вернуться к работе.

1. Попробуйте перезагрузить страницу

Некоторым это может показаться немного очевидным, но одна из самых простых и первых вещей, которые вы должны попробовать при обнаружении внутренней ошибки сервера 500, — это просто подождать минуту или около того и перезагрузить страницу (F5 или Ctrl + F5). Возможно, хост или сервер просто перегружены, и сайт сразу вернется. Пока вы ждете, вы также можете быстро попробовать другой браузер, чтобы исключить это как проблему.

Еще одна вещь, которую вы можете сделать, это вставить веб-сайт в downforeveryoneorjustme.com. Этот веб-сайт сообщит вам, если сайт не работает или это проблема на вашей стороне. Подобный инструмент проверяет код состояния HTTP, который возвращается с сервера. Если это что-то отличное от 200 «Все в порядке», то он вернет индикацию «вниз».

downforeveryoneorjustme
вниз для всех или только меня

Мы также заметили, что иногда это может произойти сразу после обновления плагина или темы на вашем сайте WordPress. Обычно это происходит на хостах, которые не настроены должным образом. Что происходит, так это то, что они испытывают временный тайм-аут сразу после этого. Однако обычно все решается за пару секунд, поэтому все, что вам нужно сделать, это обновить.

2. Очистите кеш браузера

Очистка кеша браузера всегда является еще одним хорошим шагом по устранению неполадок, прежде чем углубляться в отладку вашего сайта. Ниже приведены инструкции по очистке кеша в различных браузерах:

  • Как принудительно обновить одну страницу во всех браузерах
  • Как очистить кеш браузера для Google Chrome
  • Как очистить кеш браузера Mozilla Firefox
  • Как очистить кеш браузера для Safari
  • Как очистить кэш браузера для Internet Explorer
  • Как очистить кеш браузера для Microsoft Edge
  • Как очистить кеш браузера Opera

3. Проверьте журналы вашего сервера

Вы также должны воспользоваться своими журналами ошибок. Если вы являетесь клиентом Kinsta, вы можете легко увидеть ошибки в средстве просмотра журнала на панели инструментов MyKinsta. Это может помочь вам быстро сузить круг проблемы, особенно если она возникает из-за плагина на вашем сайте.

Проверьте журналы ошибок на наличие 500 внутренних ошибок сервера.
Проверьте журналы ошибок на наличие 500 внутренних ошибок сервера.

Если на вашем хосте нет инструмента ведения журнала, вы также можете включить режим отладки WordPress, добавив следующий код в файл wp-config.php, чтобы включить ведение журнала:

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

Журналы обычно находятся в каталоге /wp-content. У других, например здесь, в Kinsta, может быть специальная папка под названием «журналы».

WordPress error logs folder (SFTP)
Папка журналов ошибок WordPress (SFTP)

Вы также можете проверить файлы журналов в Apache и Nginx, которые обычно находятся здесь:

  • Apache: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

Если вы являетесь клиентом Kinsta, вы также можете воспользоваться нашим аналитическим инструментом, чтобы получить разбивку по общему количеству ошибок 500 и посмотреть, как часто и когда они происходят. Это может помочь вам устранить неполадки, если это постоянная проблема или, возможно, что-то, что разрешилось само собой.

Разбивка ошибок анализа ответов 500
Разбивка ошибок анализа ответов 500

Легко выявляйте и устраняйте ошибки в средстве просмотра журнала вашей мощной централизованной панели инструментов MyKinsta. Попробуйте Кинста бесплатно.

Если ошибка 500 отображается из-за фатальной ошибки PHP, вы также можете попробовать включить отчеты об ошибках PHP. Просто добавьте следующий код в файл, вызывающий ошибку. Обычно вы можете сузить файл на вкладке консоли Google Chrome DevTools.

 ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);

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

 display_errors = on

4. Ошибка при установлении соединения с базой данных

500 внутренних ошибок сервера также могут возникать из-за ошибки подключения к базе данных. В зависимости от вашего браузера вы можете увидеть разные ошибки. Но оба будут генерировать код состояния HTTP 500 независимо от журналов вашего сервера.

Ниже приведен пример того, как выглядит сообщение «ошибка установления соединения с базой данных» в вашем браузере. Вся страница пуста, потому что невозможно получить данные для отображения страницы, так как соединение не работает должным образом. Это не только сломает интерфейс вашего сайта, но и не позволит вам получить доступ к панели инструментов WordPress.

Example of error establishing a database connection
Пример ошибки при установлении соединения с базой данных

Так почему именно это происходит? Вот несколько распространенных причин ниже.

  • Наиболее распространенная проблема заключается в том, что ваши учетные данные для входа в базу данных неверны . Ваш сайт WordPress использует отдельную информацию для входа в систему для подключения к своей базе данных MySQL.
  • Ваша база данных WordPress повреждена. С таким количеством движущихся частей с темами, плагинами и пользователями, которые постоянно удаляют и устанавливают их, иногда базы данных повреждаются. Это может быть связано с отсутствующей или индивидуально поврежденной таблицей или, возможно, некоторая информация была удалена случайно.
  • У вас могут быть поврежденные файлы в вашей установке WordPress. Иногда это может происходить даже из-за хакеров.
  • Проблемы с сервером базы данных. На стороне веб-хостов может быть несколько ошибок, например, база данных перегружена из-за всплеска трафика или не отвечает из-за слишком большого количества одновременных подключений. На самом деле это довольно часто встречается с общими хостами, поскольку они используют одни и те же ресурсы для многих пользователей на одних и тех же серверах.

Ознакомьтесь с нашим подробным сообщением о том, как исправить ошибку при установке соединения с базой данных в WordPress.

5. Проверьте свои плагины и темы

Сторонние плагины и темы могут легко вызвать 500 внутренних ошибок сервера. Мы видели, что все типы вызывают их здесь, в Kinsta , от плагинов слайдера до плагинов ротатора рекламы. Во многих случаях вы должны увидеть ошибку сразу после установки чего-то нового или запуска обновления. Это одна из причин, по которой мы всегда рекомендуем использовать промежуточную среду для обновлений или, по крайней мере, запускать обновления одно за другим. В противном случае, если вы столкнетесь с внутренней ошибкой сервера 500, вы внезапно начнете пытаться выяснить, что ее вызвало.

Несколько способов устранения неполадок — деактивация всех ваших плагинов. Помните, что вы не потеряете данные, если просто деактивируете плагин. Если вы все еще можете получить доступ к своему администратору, быстрый способ сделать это — перейти к «Плагины» и выбрать «Деактивировать» в меню массовых действий. Это отключит все ваши плагины.

Деактивировать все плагины
Деактивировать все плагины

Если это решит проблему, вам нужно найти виновника. Начинайте активировать их по очереди, перезагружая сайт после каждой активации. Когда вы видите возврат внутренней ошибки сервера 500, вы обнаружили неправильно работающий плагин. Затем вы можете обратиться за помощью к разработчику плагина или опубликовать заявку в службу поддержки в репозитории WordPress.

Если вы не можете войти в административную панель WordPress, вы можете подключиться по FTP к своему серверу и переименовать папку с плагинами во что-то вроде plugins_old. Затем снова проверьте свой сайт. Если это работает, вам нужно будет протестировать каждый плагин один за другим. Переименуйте папку вашего плагина обратно в «плагины», а затем переименуйте каждую папку плагина внутри него, одну за другой, пока не найдете ее. Вы также можете сначала попытаться воспроизвести это на промежуточном сайте.

Rename plugin folder
Переименовать папку плагина

Всегда следит за тем, чтобы ваши плагины, темы и ядро ​​WordPress были обновлены. И убедитесь, что вы используете поддерживаемую версию PHP. Если окажется, что это конфликт с плохим кодом в плагине, вам может потребоваться привлечь разработчика WordPress, чтобы решить эту проблему.

6. Переустановите ядро ​​WordPress.

Иногда основные файлы WordPress могут быть повреждены, особенно на старых сайтах. На самом деле довольно легко повторно загрузить только ядро ​​​​WordPress, не затрагивая ваши плагины или темы. У нас есть подробное руководство с 5 различными способами переустановки WordPress. И, конечно же, не забудьте сделать резервную копию, прежде чем продолжить. Перейдите к одному из разделов ниже:

  • Как переустановить WordPress с панели управления WordPress, сохранив существующий контент
  • Как вручную переустановить WordPress через FTP, сохранив существующий контент
  • Как вручную переустановить WordPress через WP-CLI, сохранив существующий контент

7. Ошибка разрешений

Ошибка прав доступа к файлу или папке на вашем сервере также может вызвать внутреннюю ошибку сервера 500. Вот несколько типичных рекомендаций по разрешениям, когда речь идет о правах доступа к файлам и папкам в WordPress:

  • Все файлы должны быть 644 (-rw-r–r–) или 640.
  • Все каталоги должны быть 755 (drwxr-xr-x) или 750.
  • Никакие каталоги никогда не должны иметь 777, даже каталоги загрузки.
  • Повышение безопасности: wp-config.php также можно установить на 440 или 400, чтобы другие пользователи на сервере не могли его прочитать.

См. статью Кодекса WordPress об изменении прав доступа к файлам для более подробного объяснения.

Вы можете легко увидеть права доступа к файлам с помощью FTP-клиента (как показано ниже). Вы также можете обратиться в службу поддержки вашего хоста WordPress и попросить их быстро предоставить разрешения GREP для ваших папок и файлов, чтобы убедиться, что они настроены правильно.

Права доступа к файлам SFTP
Права доступа к файлам SFTP

8. Ограничение памяти PHP

Внутренняя ошибка сервера 500 также может быть вызвана исчерпанием лимита памяти PHP на вашем сервере. Можно попробовать увеличить лимит. Следуйте приведенным ниже инструкциям о том, как изменить это ограничение в cPanel, Apache, файле php.ini и файле wp-config.php .

Увеличьте лимит памяти PHP в cPanel

Если вы работаете на хосте, использующем cPanel, вы можете легко изменить это в пользовательском интерфейсе. В разделе «Программное обеспечение» нажмите «Выбрать версию PHP».

Выберите версию PHP
Выберите версию PHP

Нажмите «Переключиться на параметры PHP».

Переключитесь на параметры PHP
Переключитесь на параметры PHP

Затем вы можете щелкнуть атрибут memory_limit и изменить его значение. Затем нажмите «Сохранить».

Увеличьте лимит памяти PHP в cPanel
Увеличьте лимит памяти PHP в cPanel

Увеличьте лимит памяти PHP в Apache

Файл .htaccess — это специальный скрытый файл, который содержит различные настройки, которые вы можете использовать для изменения поведения сервера, вплоть до уровня конкретного каталога. Сначала войдите на свой сайт через FTP или SSH, посмотрите в свой корневой каталог и посмотрите, есть ли там файл .htaccess .

.htaccess file
.htaccess файл

Если есть, вы можете отредактировать этот файл, добавив необходимый код для увеличения лимита памяти PHP. Скорее всего установлено 64M или ниже, можно попробовать увеличить это значение.

 php_value memory_limit 128M

Увеличьте лимит памяти PHP в файле php.ini

Если вышеперечисленное не работает, вы можете попробовать отредактировать файл php.ini . Войдите на свой сайт через FTP или SSH, перейдите в корневой каталог вашего сайта и откройте или создайте файл php.ini .

php.ini file
файл php.ini

Если файл уже был там, найдите три параметра и при необходимости измените их. Если вы только что создали файл или настройки отсутствуют, вы можете вставить код ниже. Конечно, вы можете изменить значения в соответствии с вашими потребностями.

 memory_limit = 128M

Некоторые общие хосты также могут потребовать, чтобы вы добавили директиву suPHP в ваш файл .htaccess , чтобы вышеуказанные настройки файла php.ini работали. Для этого отредактируйте файл .htaccess , также расположенный в корне вашего сайта, и добавьте следующий код в начало файла:

 <IfModule mod_suphp.c> suPHP_ConfigPath /home/yourusername/public_html </IfModule>

Если описанное выше не сработало для вас, возможно, ваш хост имеет заблокированные глобальные настройки и вместо этого настроен на использование файлов .user.ini . Чтобы отредактировать файл .user.ini , войдите на свой сайт через FTP или SSH, перейдите в корневой каталог вашего сайта и откройте или создайте файл .user.ini . Затем вы можете вставить следующий код:

 memory_limit = 128M

Увеличьте лимит памяти PHP в wp-config.php

Последний вариант — не тот, который нам нравится, но если ничего не помогает, вы можете попробовать. Во-первых, войдите на свой сайт через FTP или SSH и найдите файл wp-config.php, который обычно находится в корне вашего сайта.

wp-config.php file
файл wp-config.php

Добавьте следующий код в начало файла wp-config.php :

 define('WP_MEMORY_LIMIT', '128M');

Вы также можете спросить своего хоста, если у вас проблемы с ограничением памяти. Мы используем инструмент Kinsta APM и другие методы устранения неполадок здесь, в Kinsta, чтобы помочь клиентам определить, какой плагин, запрос или сценарий может исчерпать лимит. Вы также можете использовать свой собственный ключ New Relic из вашей собственной лицензии.

Отладка с помощью New Relic
Отладка с помощью New Relic

9. Проблема с вашим файлом .htaccess

Kinsta использует только Nginx, но если вы используете хост WordPress, на котором работает Apache, вполне может быть, что ваш файл .htaccess имеет проблему или поврежден. Следуйте инструкциям ниже, чтобы воссоздать новый с нуля.

Сначала войдите на свой сайт через FTP или SSH и переименуйте файл .htaccess в .htaccess_old .

Переименуйте файл .htaccess
Переименуйте файл .htaccess

Обычно, чтобы воссоздать этот файл, вы можете просто повторно сохранить свои постоянные ссылки в WordPress. Однако, если вы находитесь в середине внутренней ошибки сервера 500, вы, скорее всего, не можете получить доступ к своему администратору WordPress, так что это не вариант. Поэтому вы можете создать новый файл .htaccess и ввести следующее содержимое. Затем загрузите его на свой сервер.

 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

Дополнительные примеры см. в Кодексе WordPress, например файл .htaccess по умолчанию для мультисайтов.

10. Кодовые или синтаксические ошибки в вашем CGI/Perl-скрипте

500 ошибок, вызванных ошибками в CGI и Perl, встречаются гораздо реже, чем раньше. Хотя об этом все же стоит упомянуть, особенно для тех, кто использует cPanel, где все еще используется много сценариев CGI с одним щелчком мыши. Как говорит AEM на Stack Overflow:

CGI был заменен широким спектром технологий веб-программирования, включая PHP, различные расширения Apache, такие как mod_perl, Java различных разновидностей и фреймворков, включая Java EE, Struts, Spring и т. д., фреймворки на основе Python, такие как Django, Ruby on Rails и многие другие. другие фреймворки Ruby и различные технологии Microsoft.

Вот несколько советов по работе со сценариями CGI:

  • При редактировании всегда использовал обычный текстовый редактор, например, Atom, Sublime или Notepad++. Это гарантирует, что они останутся в формате ASCII.
  • Убедитесь, что для сценариев и каталогов CGI используются правильные разрешения chmod 755.
  • Загрузите свои CGI-скрипты в режиме ASCII (вы можете выбрать его в своем FTP-редакторе) в каталог cgi-bin на своем сервере.
  • Убедитесь, что модули Perl, необходимые для вашего скрипта, установлены и поддерживаются.

Легко выявляйте и устраняйте ошибки в средстве просмотра журнала вашей мощной централизованной панели управления MyKinsta. Попробуйте Кинста бесплатно.

11. Проблема с сервером (уточните у своего хоста)

Наконец, поскольку 500 внутренних ошибок сервера также могут возникать из-за тайм- аута PHP или фатальных ошибок PHP со сторонними плагинами , вы всегда можете проверить это на своем хосте WordPress. Иногда эти ошибки трудно устранить без помощи специалиста. Вот лишь несколько распространенных примеров некоторых ошибок, которые вызывают 500 кодов состояния HTTP на сервере, которые могут заставить вас почесать голову.

 PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...
 PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525

Мы отслеживаем все сайты клиентов здесь, в Kinsta, и автоматически уведомляемся, когда возникают ошибки такого типа . Это позволяет нам действовать на опережение и сразу приступать к устранению проблемы. Мы также используем управляемые хосты LXD и управляемые программные контейнеры LXC для каждого сайта. Это означает, что каждый сайт WordPress размещен в собственном изолированном контейнере, в котором есть все программные ресурсы, необходимые для его запуска (Linux, Nginx, PHP, MySQL). Ресурсы на 100% приватны и не передаются никому другому или даже вашим собственным сайтам.

Тайм-ауты PHP также могут возникать из-за отсутствия обработчиков PHP , хотя обычно они вызывают 504 ошибки, а не 500 ошибок. Они определяют, сколько одновременных запросов ваш сайт может обрабатывать в данный момент времени. Проще говоря, каждый некэшированный запрос для вашего веб-сайта обрабатывается PHP Worker.

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

Следите за своим сайтом

Если вы беспокоитесь об ошибках такого рода на вашем сайте в будущем, вы также можете использовать такой инструмент, как updown.io, для мониторинга и немедленного уведомления вас в случае их возникновения. Он периодически отправляет HTTP-запрос HEAD на выбранный вами URL-адрес. Вы можете просто использовать свою домашнюю страницу. Инструмент позволяет установить частоты проверки:

  • 15 секунд
  • 30 секунд
  • 1 минута
  • 2 минуты
  • 5 минут
  • 10 минут

Он отправит вам электронное письмо, если и когда ваш сайт выйдет из строя. Вот пример ниже.

Уведомление по электронной почте об ошибке 500
Уведомление по электронной почте об ошибке 500

Это может быть особенно полезно, если вы пытаетесь отладить неисправный плагин или находитесь на общем хосте, который имеет тенденцию перегружать свои серверы. Это может дать вам доказательство того, как часто ваш сайт может на самом деле не работать (даже посреди ночи). Вот почему мы всегда рекомендуем использовать управляемый хост WordPress. Обязательно ознакомьтесь с нашим постом, в котором рассматриваются 9 основных причин выбора управляемого хостинга WordPress.

Резюме

500 внутренних ошибок сервера всегда расстраивают, но, надеюсь, теперь вы знаете несколько дополнительных способов их устранения, чтобы быстро восстановить работоспособность вашего сайта. Помните, что обычно эти типы ошибок вызваны сторонними плагинами, фатальными ошибками PHP, проблемами с подключением к базе данных, проблемами с вашим файлом .htaccess или ограничениями памяти PHP, а иногда и тайм-аутами PHP.

Было ли что-то, что мы пропустили? Возможно, у вас есть еще один совет по устранению 500 внутренних ошибок сервера. Если это так, дайте нам знать ниже в комментариях.