• Несколько дней назад при попытке доступа к сайту появился Белый экран смерти с сообщением «На сайте возникла критическая ошибка.».

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

    Дебаг режим показал вот что:

    https://iimg.su/i/Nt4M5O

    Подозреваю, что это произошло из-за того, что вордпресс обновился до 7 версии (хотя у меня автообновление было отключено).

    И вот этот файл class-wpdb всё портит. В более ранних версиях вордпресса его не было. Когда восстанавливаю содержимое на хостинге, файл сам появляется там…

    Указанная строка 1525 из отладки содержит вот что

    $placeholder = isset( $split_query[ $key ] ) ? $split_query[ $key ] : '';

    А 1610 вот

    $new_query .= $split_query[ $key - 2 ] . $split_query[ $key - 1 ] . $placeholder;

    Я в php не разбираюсь, и не понимаю, что делать с этой информацией… Может кто-нибудь помочь пожалуйста?

    • Тема изменена 1 неделя, 1 день назад пользователем someinsun. Причина: не вставилась картинка
    • Тема изменена 1 неделя назад пользователем Yui.
Просмотр 14 ответов — с 1 по 14 (всего 14)
  • someinsun, привет. Какая версия PHP используется? Какая версия WordPress была до обновления?

    Автор someinsun

    (@someinsun)

    R3N0, версия php 8.0. Пробовала ставить более раннюю и более позднюю версии — не помогло.

    Версию wordpress, к сожалению, сейчас уже не вспомню.

    В какой-то момент попробовала поставить начисто более раннюю версию wp, чтобы накатить на него бэкап (без удаления базы данных), но белый экран всё равно остался…

    someinsun, покажите, пожалуйста, полный лог ошибок.

    Автор someinsun

    (@someinsun)

    Весь лог состоит из этих двух строк.

    Там он зацикливается, выдавая тысячи пунктов с этими двумя строками и вешает всё намертво.

    someinsun, на картинке выше вижу уведомления (notice), но при них сайт не падает. Посмотрите лог ошибок (error.log или файл с аналогичным названием на вашем хостинге) на предмет более подробного описания возникшей проблемы.

    someinsun, если есть трудности с логом ошибок, то можете вслепую попробовать эти шаги: а) отключить вывод уведомлений и ошибок на экран; б) вручную накатить движок 7-й версии (мог быть сбой при автоматическом обновлении); в) попробовать восстановить структуру БД, например, через phpMyAdmin (если применимо); г) временно переименовать или удалить файлы с настройками кэширования (если оно было у вас на сайте) в директории /wp-content/. Что до версии PHP, то лучше использовать версии 8.2-8.4, если нет явной нужды в какой-то более старой версии.

    Автор someinsun

    (@someinsun)

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

    Ни в варианте просто включения режима дебага

    define('WP_DEBUG', true);

    Ни в варианте скрытия вывода и прямого указания на ведение лога…

    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
    @ini_set('display_errors', 0);
    Автор someinsun

    (@someinsun)

    Хотя, вот, всё-таки удалось добиться лога.

    И в нём всего три вот такие строки (как ни странно, отличаются, от того, что показывало до этого)

    [03-Jun-2026 21:46:39 UTC] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 134217736 bytes) in /home/www/website.ru/wp-includes/class-wpdb.php on line 1588
    [03-Jun-2026 21:46:40 UTC] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 134217736 bytes) in /home/www/website.ru/wp-includes/class-wpdb.php on line 1588
    [03-Jun-2026 21:47:13 UTC] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 134217736 bytes) in /home/www/website.ru/wp-includes/class-wpdb.php on line 1588

    someinsun, упираетесь в лимиты памяти. Попробуйте увеличить значение со 128M (ваш случай сейчас) до 256M, это можно сделать в wp-config.php директивой define( 'WP_MEMORY_LIMIT', '256M' );. Должно сработать.

    Автор someinsun

    (@someinsun)

    Омйгадбл! Я всё это время копала не туда!…
    Оказывается, он на память жаловался!

    Увеличение лимита памяти в конфиге не помогло. Проверила — на хостинге был лимит в базе php задан 128 Мб. А этот гад пытался использовать 134. Повысила лимит в базе, и, о чудо!, что-то сдвинулось!

    Это он, оказывается, так сильно хотел обновиться, что обос*ался :facepalm:

    Хочется надеяться, что после следующих шагов сайт не упадёт опять.
    Там стояли более старые версии wp и php потому что тема была очень старая и конфликтовала со всем новым. Сейчас пытаемся пересадить сайт на новую тему, но там было очень много содержимого, поэтому процесс небыстрый. Для этого нужно было, чтобы старый вариант пока висел…

    someinsun, что у вас за хостинг, если не секрет?

    Если сайт тяжёлый, то вам бы задуматься о больших ресурсах под него. Судя по всему, с версии 7.0 движок стал более прожорливым из-за новых свистелок.

    R3N0, Хостинг брала когда-то давно, и его норм хватает.

    Там какая-то сложная схема, сейчас концов не найду… Регишься на одном сайте, логин на хостинг на другом, поддержка биллинга на третьем (duoservers/liquidnet ltd)…

    Дальше на удивление всё было просто! Пару раз нажала на кнопку далее и сайт заработал! %))

    R3N0, спасибо, что потыкали меня носом, куда надо! : ) А то я уже отчаялась… А ларчик, оказывается, просто открывался… %))

    someinsun, на здоровье! Рад, что задача в итоге разрешилась 🙂

Просмотр 14 ответов — с 1 по 14 (всего 14)

Для ответа на тему необходимо авторизоваться.