Intereting Posts
Недавние заголовки сообщений. Как оптимизировать цикл Почему WordPress получает сообщения из MySQL с виртуального имени хоста, но не с прямым именем хоста? Как синхронизировать пользовательскую базу данных с включенным плагином «редактор роли пользователя» Создайте единый {custom} .php с данными в таблице из wp_posts Создание пользовательских тегов Параметры apache_mod_loaded могут подключаться к плагинам? Показывать только имя первой категории в RSS? get_term_children не возвращает массив дочерних терминов Показать бесплатные продукты WooCommerce Почему запуск get_the_excerpt () при создании файла JSON занимает 28 секунд против 599 миллисекунд без него? Перенаправить страницу на страницу по умолчанию Специальные шаблоны отдельных страниц для сообщений по категориям и всей их дочерней категории Функция в алфавитном порядке сортирует пользовательские типы сообщений, создавая дубликаты Подсчет количества посещений моего веб-сайта Как я могу свести к минимуму содержимое моего RSS-канала, чтобы поместить больше элементов в ограничение 512k Feedburner?

Известный белый экран смерти WordPress

Как упоминалось в названии, я думаю, что это, безусловно, одна проблема. Automattic или команда WordPress не могут решить, до какой бы версии WordPress не поступило в будущем. В этом вопросе я фокусируюсь на белом экране смерти, который я получаю всякий раз, когда я хочу активировать определенные плагины. Я разрабатываю сайт, который требует, чтобы я использовал 30 плагинов. Да, некоторые скажут, что слишком много плагинов для сайта, неудивительно, что я получу белый экран. Но эй, это WordPress, одна из причин, почему WordPress является самой популярной платформой для блогов, – это наличие плагинов, которые могут помочь вам достичь своей цели за меньшее время. Для тех, кто занимается разработкой php + wp, вы, ребята, можете сказать, что взломать wp лучше, чем использовать множество плагинов, например, что я делаю, но эй, большинство пользователей wp не являются php-гуру. Большинство из них являются обычными пользователями, такими как я, или даже просто знают, как устанавливать и использовать то, что им доступно.

До сих пор здесь общие шаги мы делаем, когда получаем белый экран смерти (WSOD).

  1. Переименуйте имя папки wp-content / plugins, такое как wp-content / plugins-temp , это отключит все плагины
  2. Как и я, я предпочитаю переименовывать имя отдельной папки плагина, например wp-content / plugins / akismet, в wp-content / plugins / akismet-temp
  3. После этого активируйте все плагины один за другим, чтобы мы могли узнать, какой плагин является виновником
  4. Проверьте лишнее пустое место в конце файла плагина, особенно после тега закрытия php?> Убедитесь, что после тега нет лишнего места. Удостоверьтесь, что проверьте файл functions.php темы (если есть) или файл плагина.
  5. Увеличьте распределение памяти для wordpress

После этого ваш сайт снова будет нормальным. НО это все равно не решит эту проблему.

Для меня это очень раздражает меня, особенно шаг № 3. Как узнать, какой плагин является виновником? Во-первых, я думал, что шаг №3 действительно факт, но теперь я считаю, что это ложь. ЗАЧЕМ?

Как сейчас, внезапно после активации 25 плагинов один из плагинов, который я не могу активировать, – это Akismet. Какие? Akismet? Да, разработчик плагина сам по себе. Я знаю, что шаг № 3 выше – ложь, потому что, если я сначала активирую Akismet, Akismet успешно активируется. Совершенно никаких проблем.

Поэтому сейчас проблема заключается в совместимости плагинов между плагинами. Как может я, как обычный пользователь, определить, какой плагин не дружит с каким плагином ??? Если я использую 30 плагинов, сколько вероятностей из одного плагина не совместимо с каждым плагином ???? как я могу узнать, какие плагины должны быть активированы сначала, чтобы WSOD не появился?

Если есть ошибка, возможно, у меня есть ключ, но это простой белый экран. Я не знаю. Это столкновение плагинов в wordpress – это действительно нерешенная проблема, которая заставляет меня действительно напрягать.

Кто-нибудь знает, как это исправить? По крайней мере, знаете, как активировать плагины через mysql?

Чтобы заставить WordPress отображать ошибки, отредактируйте файл wp-config.php чтобы сказать

 define( 'WP_DEBUG', true ); 

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

Кроме того, пробелы в конце файлов почти никогда не вызывают WSOD; это то, что заставляет ошибки «заголовки уже отправлены» в каналы и т. д.

Учитывая ваше описание, я могу только думать о двух возможностях, почему Akismet вызывает ошибки:

  1. Вы превысили лимит памяти
  2. Другой плагин может использовать функцию, которую использует Akismet, вызывая ошибку 'Can not redeclare user-defined function'

Попробуйте включить WP_DEBUG и вернуться, если у вас есть вопросы.

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

Проблемы, которые нужно искать в вашей теме:

Необеспеченные символы могут вызвать проблемы. Изменить @ для @

Пустое пространство в конце functions.php вызовет проблемы.

В противном случае я обнаружил, что загрузка последней версии с WP.org и перезапись всех файлов, кроме папки wp-content, работает.

Белые экраны, как правило, связаны с слишком небольшим ограничением памяти php.

ДРУГОЙ ВОЗМОЖНЫЙ РЕШЕНИЕ:

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

удалить тег закрытия ?> из файла functions.php / plugin.php

Вот билет поддержки, который идет более подробно.

Так что, если кто-то отчаянно ищет другое возможное объяснение WSOD, вот что это для меня 🙂