Отладка ошибки 500 Internal Server Error в блоге WordPress

3 нояб. 2011 г., 00:52:44
Просмотры: 5.92K
Голосов: 0

Мой блог на WordPress размещён на shared-хостинге Hostgator. Последние несколько дней я сталкиваюсь с ошибками 500 Internal Server Error. Я не устанавливал новых плагинов с момента появления этих ошибок.

Я несколько раз обращался в техподдержку, но так и не получил внятного ответа. Хостинг-провайдер установил лимит в 25 процессов. Иногда этот лимит достигается, и сайты на сервере перестают работать. В консоли процессов видно, что чаще всего запускается php для обработки index.php моего блога.

При первом обращении в поддержку мне сказали, что это может быть связано с резким ростом трафика. Но у меня нет оснований думать, что трафик мог так резко вырасти за день. Проверка Analytics (хотя многие запросы могли теряться из-за ошибок) не показывает значительного роста трафика. Кроме того, сайт ранее переживал "эффект Slashdot" с увеличением трафика в 4-5 раз без каких-либо проблем.

Другой сотрудник поддержки посоветовал заменить плагин WP-Super Cache на W3 Total Cache, который рекомендует Hostgator. Это не дало никакого эффекта. Я пробовал отключать и удалять оба плагина, затем тестировал Hyper Cache, но результат оставался прежним.

При включении WP-DEBUG я вижу только несколько предупреждений от All In One Seo Pack и ещё одного плагина.

Все техподдержники утверждали, что проблема вызвана каким-то плагином. Я отключил все плагины и начал включать их по одному. Но до сих пор не смог определить, какой именно плагин (если проблема действительно в нём) вызывает неполадки. В итоге, их помощь оказалась бесполезной.

Какие у меня есть варианты для отладки и поиска проблемы? ОБНОВЛЕНИЕ: Активные плагины: Akismet, All In One SEO Pack, Dagon Design Sitemap Generator, FastFast Secure Contact Form, Google XML Sitemaps, Laconica Tools, List Category Posts, NextGEN Gallery, RubyConf Uruguay Ribbon, Smooth Slider, Subpage Listing, Subscribe to Comments Reloaded, UserAgent Spy, W3 Total Cache, WP-PageNavi, WP-Syntax.

6
Комментарии

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

onetrickpony onetrickpony
3 нояб. 2011 г. 02:53:34

Этот вопрос находится на грани того, чтобы быть слишком локализованным, но не могли бы вы перечислить все ваши активные плагины?

Chip Bennett Chip Bennett
3 нояб. 2011 г. 14:48:53

Я попытался завершить процессы, но проблема продолжает возникать. @ChipBennett вопрос касается вариантов отладки и поиска ошибки, но я отредактирую и перечислю плагины. Спасибо!

Fernando Briano Fernando Briano
3 нояб. 2011 г. 18:58:13

Вы проверяли php error_log?

v0idless v0idless
3 нояб. 2011 г. 19:40:18

Вы пробовали увеличить лимит памяти в php?

Brad Dalton Brad Dalton
3 нояб. 2011 г. 14:04:30

Я увеличил память WordPress с 32 до 64М, но проблема остаётся. :S

Fernando Briano Fernando Briano
4 нояб. 2011 г. 16:19:09
Показать остальные 1 комментариев
Все ответы на вопрос 3
0

У меня были такие же проблемы — после некоторого времени без изменений на сайте внезапно начали появляться "500 Internal Server Error" на разных страницах. После недели мучений оказалось, что мой файл "/wp-content/debug.log" (который я включил давно и потом забыл о нём) превысил 128 МБ, и по каким-то причинам в него больше нельзя было записывать, из-за чего все плагины или функции, обращающиеся к этому файлу, перестали работать. В результате — никаких полезных записей в debug.log, => я в растерянности.

Поэтому, если у вас включено логирование и файл стал большим (лимит может зависеть от настроек хостинга), попробуйте удалить его.

10 апр. 2013 г. 15:02:56
1

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

Лучшее, что можно сделать в такой ситуации — отключать плагины по одному, начиная с тех, которые могут потреблять много ресурсов процессора, например, XML-карты сайта или любые динамически выполняемые по запросу или действию.

Включите логгирование медленных запросов для выявления проблем с базой данных.

Также можно попробовать этот плагин, хотя не уверен, насколько он полезен: TPC! Memory Usage

3 нояб. 2011 г. 07:57:05
Комментарии

Помимо получения логов сервера, запуск WP Super Cache в режиме отладки оказался весьма полезным.

Fernando Briano Fernando Briano
7 нояб. 2011 г. 18:53:24
0

В дополнение к вышесказанному: я не знаю, является ли это объяснением в данном случае, но если вы случайно оставили включенным логгер (что часто происходит при попытках отладки!), он может вести журналирование в фоновом режиме до невообразимых размеров. Такое произошло на одном из сайтов, с которым я недавно работал. После обнаружения и удаления лог-файла размером в несколько гигабайт и снятия галочки с чекбокса включения логирования (в WP Super Cache) проблема исчезла.

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

5 сент. 2015 г. 20:36:58