Критическая ошибка WordPress после попытки обновления до 6.2 – Фатальная ошибка: исчерпан ограниченный размер памяти 268435456 байт [закрыто]

Вопрос или проблема

Я обновлял свой сайт до WordPress 6.2, но установка так и не завершилась. Когда я обновил страницу, я увидел сообщение: “На этом сайте произошла критическая ошибка”.

Я включил отладку и увидел два сообщения об ошибках:

Фатальная ошибка: исчерпан допустимый размер памяти 268435456 байт (попытка
выделить 4096 байт) в
/home/qualalba/public_html/wp-content/plugins/wordpress-https/lib/Mvied/Url.php
в строке 245

Фатальная ошибка: исчерпан допустимый размер памяти 268435456 байт (попытка
выделить 4096 байт) в
/home/qualalba/public_html/wp-includes/class-wp-recovery-mode.php в
строке 178

(но файлы, связанные с ошибками, постоянно меняются, если я пытаюсь открыть сайт в другом браузере)

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

Фатальная ошибка: исчерпан допустимый размер памяти 268435456 байт (попытка
выделить 262144 байт) в
/home/qualalba/public_html/wp-includes/class-wp-hook.php в строке 308

И на этот раз ошибка всегда одна и та же во всех браузерах.

Я пробовал несколько способов увеличить лимит памяти PHP, но без результата:

  • в WP-CONFIG.php: define("WP_MEMORY_LIMIT", 512)
  • в файле .htaccess: php_value memory_limit 512M
  • увеличение значения через cpanel.

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

Я также пытался вручную скопировать свежую версию WordPress 6.2 на свой сайт, перезаписав старые файлы (без результата).

Я действительно не знаю, что еще могу сделать. Может ли это быть corrupción в базе данных во время неудачного процесса обновления?

Не указана версия PHP, которую вы используете, но, возможно, вы используете более старую версию PHP? Попробуйте запустить PHP 7.2 для теста. Обновитесь до 8.x после стабилизации сайта.

Вы также можете попробовать переименовать папку плагинов и/или тем, чтобы обойти эти настройки (что, конечно, повлияет на сайт). Запустите все в “очень упрощенном” виде, затем добавьте ваши плагины/темы. Вы можете попытаться установить плагины/темы с переименованными старыми версиями, на случай если более старые версии вызывали проблемы.

Убедитесь, что вы постоянно обновляете сайт – ядро WP, темы и плагины. Это поможет в большинстве случаев.

Я решил проблему.

Для меня это была проблема совместимости с моей темой. Я закомментировал фильтры, использующие “wp_video_shortcode_library” и “wp_audio_shortcode_library” в моей теме. Я обновил WordPress до версии 6.2, не обновляя тему.

Темы, которую я использовал – “Nifty – Business Consulting by BoldThemes”.

Ответ или решение

При обновлении вашего сайта WordPress до версии 6.2 вы столкнулись с критической ошибкой, связанной с исчерпанием доступной памяти. Ошибка "Fatal error: Allowed memory size of 268435456 bytes exhausted" указывает на то, что ваш сайт превысил лимит выделенной памяти PHP, что может происходить по нескольким причинам.

1. Анализ причины ошибки

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

2. Увеличение лимита памяти

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

  • В файле wp-config.php:
    define("WP_MEMORY_LIMIT", "512M");
  • В файле .htaccess:
    php_value memory_limit 512M
  • В настройках cPanel.

3. Проверка конфигурации PHP

Проверка версии PHP имеет важное значение. Рекомендуется использовать PHP версии 7.2 и выше. Устаревшие версии PHP могут вызывать проблемы с производительностью и совместимостью, что в свою очередь может привести к исчерпанию лимита памяти.

4. Деактивация плагинов и тем

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

5. Потенциальные проблемы с кодом

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

6. Возможные действия

  1. Проверка кода темы: Убедитесь, что ваш шаблон обновлен и совместим с WordPress 6.2. Если шаблон не обновлялся, возможно, имеет смысл обратиться к разработчику или рассмотреть другие варианты.

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

  3. Чистая переустановка: Как крайний вариант, если ничего не помогает, рассмотрите возможность создания резервной копии вашего сайта и выполнения чистой установки WordPress, а затем восстановления содержимого через резервные копии.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...