Краткий ответ: Ошибка 500 значит, что PHP упал или веб-сервер наткнулся на сломанную конфигурацию. Сначала прочитайте настоящую ошибку — лог PHP-FPM или wp-content/debug.log с включённым WP_DEBUG_LOG — а затем примените привычные лекарства: деактивируйте сбойный плагин/тему, поднимите память или почините сломанный .htaccess/server block.

Обзор

«HTTP 500» — это симптом, а не диагноз: фатальные ошибки PHP, исчерпанная память, синтаксическая ошибка после неудачного обновления и неправильная конфигурация веб-сервера носят одну маску. Самый быстрый маршрут — всегда лог; угадывать плагины по одному — медленный путь. На VPS у вас полный доступ к логам — пользуйтесь.

Что нужно иметь

  • SSH-доступ — когда wp-admin лежит, WP-CLI всё равно работает.
  • Расположение логов: /var/log/nginx/error.log, /var/log/php8.3-fpm.log.
  • Недавний бэкап — вдруг откат быстрее ремонта.

Пошаговая инструкция

  1. Включите логирование WordPress (wp-config.php, над строкой «stop editing»):
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
  2. Воспроизведите ошибку и прочитайте последние строки:
    tail -n 50 wp-content/debug.log
    sudo tail -n 50 /var/log/nginx/error.log
  3. Фатальная ошибка называет плагин/тему: деактивируйте без wp-admin:
    sudo -u www-data wp plugin deactivate broken-plugin
    # or all at once: sudo -u www-data wp plugin deactivate --all
    sudo -u www-data wp theme activate twentytwentyfour
  4. «Allowed memory size exhausted»: поднимите memory_limit в php.ini (и WP_MEMORY_LIMIT в wp-config) — см. тюнинг PHP.
  5. Ошибка только на части URL (Apache): перегенерируйте .htaccess пересохранением permalinks; на Nginx проверьте nginx -t.
  6. Всё ещё глухо? Откатите последнее изменение (обновление, новый плагин, правка конфига) из бэкапа — ошибка началась, когда что-то изменилось.

Типичные проблемы

  • Пустой debug.log: падение происходит до загрузки WordPress — оно в логе PHP-FPM.
  • 500 только в wp-admin: классика исчерпанной памяти или конфликт чисто админского плагина.
  • Эпизодические 500 под нагрузкой: это не баг кода — исчерпание FPM-пула; см. размер pm.max_children.

Когда обращаться в поддержку

Если сбоит сама платформа (диск заполнен на уровне хоста, VPS не отвечает), откройте тикет. Для ошибок приложения прикладывайте точные строки логов, если просите совета — само по себе «показывает 500» не диагностируется.

Частые вопросы

Где искать настоящую ошибку за страницей 500?

В логах: wp-content/debug.log после включения WP_DEBUG_LOG, плюс логи ошибок PHP-FPM и веб-сервера в /var/log — последние строки называют сбойный файл и плагин.

Как выключить плагин, когда wp-admin лежит?

Через SSH с помощью WP-CLI: wp plugin deactivate plugin-name (или --all). Переименование папки плагина в wp-content/plugins даёт тот же эффект, если WP-CLI недоступен.

Почему ошибки 500 появляются только при всплесках трафика?

Это ёмкость, а не код: пул PHP-FPM исчерпывает воркеры, и запросы падают по таймауту. Добавьте страничное кеширование и переразмерьте pm.max_children — или увеличьте план.

Похожие статьи

Нужна помощь? Связаться с поддержкой Cloud2Y →

Помог ли вам данный ответ? 0 Пользователи нашли это полезным (0 голосов)