Что является эффективным способом устранения «белого экрана смерти»?


18

Довольно часто я оказывался в положении, когда интерфейс веб-сайта Joomla представляет собой пустой экран без содержимого, иногда известный как «белый экран смерти».

Это произошло после перемещения веб-сайта, а также неожиданно произошло на ранее работающем веб-сайте.

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

Ответы:


14
  1. Изменить сообщение об ошибке на максимум

    • Войти в админку
    • Перейти к Глобальной конфигурации -> сервер

    Для начала вам нужно установить максимум сообщений об ошибках

  2. Редактировать файлы на FTP

    • Войдите в свои файлы сайта Joomla через FTP.

    • Найдите файл index.php, расположенный в корне вашего сайта.

    • Откройте файл index.php и добавьте этот код сразу после самой первой строки файла:

      ini_set('display_errors', TRUE); error_reporting(E_ALL); 
      
  3. Редактировать файл PHP.ini

    В файле PHP.ini вам нужно изменить эти две настройки:

    • Установите Ошибка отображения на Вкл: display_errors = On

    • Установите отчет об ошибках: error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

  4. Проверьте журнал вашего сервера

    Наконец, вы получаете журнал ошибок с сообщением об ошибке, показывающим путь ошибки и причину ошибки

Ссылка: http://www.ostraining.com/blog/joomla/white-screen-of-death/


2
Как и выше, я бы порекомендовал установить и включить консоль Firebug в вашем браузере. После этого вернитесь к Белому Экрану Смерти. Вы будете удивлены тем, что вы найдете иногда.
TryHarder

1
Другое дело, я обычно нахожу, что Белый Экран Смерти как-то связан с файлом .htaccess.
TryHarder

1
В редких случаях это может быть связано с тем, что загружаемый файл использует defined('FOO') or die();строку, но FOOне определен.
Эндрю Эдди,

10

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

Вручную проверить другие страницы, загружается ли? Если это делает его модулем или компонентом, загруженным только на первой странице, это поможет вам изолировать его. Также хорошей идеей является обновление ваших расширений, если оно работало раньше, возможно, ваша среда была PHP 5.2 и когда вы перешли на 5.3 или 5.4, из-за различий произошла серьезная ошибка.

Как правило, обновление расширения может исправить это, если оно активно поддерживается. Хотя в некоторых случаях это может быть ваш шаблон.


1
Я также делаю это наоборот и отключаю все расширения, а затем включаю их одно за другим, пока сайт не сломается. Та же идея
Дэвид Фрич

1
Иногда отключение их всех одновременно может привести к разрыву. Не всегда, но это происходило один раз, поэтому по одному было наше решение.
Джордан Рамстад

6

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

Более простые советы по отладке можно найти в этом блоге: http://www.readybytes.net/blog/item/a-beginners-guide-to-start-debugging-joomla.html


2

Кажется, никто не упоминал об отключении буферизации вывода, поэтому я упомяну об этом здесь ...

Буферизация вывода очень неприятна для отладки, и даже если вы установите максимальное количество сообщений об ошибках и добавите php.iniзаписи, они все равно не будут работать (вы все равно не увидите ошибок). Это можно отключить, просто добавив output_buffering = offв .htaccessфайл, как указано здесь (обратите внимание, что это может работать не во всех средах).

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


1

Если у вас включены SEF URL и вы используете файл .htaccess Joomla!, Убедитесь, что на сервере включен mod_rewrite.

Во многих случаях виновным является файл .htaccess, поэтому при условии, что mod_rewrite включен, я бы порекомендовал создать резервную копию файла .htaccess, а затем удалить исходный файл (или переименовать его), чтобы проверить, имеет ли это значение.

Я также рекомендую установить и запустить консоль Firebug в вашем браузере. Часто выявляются подсказки, которые вы можете использовать для отслеживания проблемы (это верно для множества различных проблем).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.