Magento Как отлаживать пустой белый экран - PullRequest
46 голосов
/ 24 января 2011

У меня есть ошибка в моем бэкэнде Magento, которая приводит к пустому экрану (WSOD). Я установил ошибки на в админке, но в var / logs / ничего не создается. (Я проверил разрешения для этого каталога, и все правильно).

У меня также есть ini_set ('display_errors', 1) в index.php, и Magento установлен в режим разработчика. Я также включил журналы ошибок apache и php.

Ошибки не регистрируются, хотя?!

Кто-нибудь знает, почему ошибки не отображаются? Как я запутался! Спасибо

Ответы [ 18 ]

58 голосов
/ 02 февраля 2015

Вот как я это исправил (надеюсь, ребята, вам это поможет):

  1. Используйте следующий код в вашем файле index.php

    ini_set('error_reporting', E_ERROR);
    register_shutdown_function("fatal_handler");
    function fatal_handler() {
        $error = error_get_last();
        echo("<pre>");
        print_r($error);
    }
    
  2. В моем случае мне показалось, что ошибка / 503.php была недоступна.

3. Проблема заключалась в использовании расширения расширения, которое я использовал (http://www.magentocommerce.com/magento-connect/magebuzz-free-testimonial.html)

Я удалил файл testimonial.xml в своем приложении / etc / modules / testimoanial.xml. удалил файл maintenance.flag.
18 голосов
/ 24 января 2011

Когда это происходит, первое, что я проверяю, это ограничение памяти PHP.

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

12 голосов
/ 12 декабря 2012

Та же проблема, Я только что очистил кеш

rm -rf var/cache/* 

Et вуаля! Я не понимаю, что это было ...

6 голосов
/ 09 мая 2014

Ниже приведены причины пустых страниц в magento

1) Проблемы с правами доступа к файлам или каталогам.Если вы переходите с одного сервера на другой, не забудьте дать разрешение 755 на каталоги и файлы

2) Если вы работали с XML-файлом, и вдруг страницы стали пустыми.Убедитесь, что вы не прокомментировали строки кода должным образом. Незакрытый комментарий также создаст проблему.

3) Возможна проблема из-за недостаточного выделения памяти для memory_limit.

4) Попробуйте очистить содержимое папки var / cache

5) Попробуйте очистить var/ папка с содержимым

6) Если ваши расширения используют загрузчик ioncube в производственной среде, установите и ионный куб на сервере разработки. (Как и в случае расширений расширений). Хотя у вас может быть загрузчик ion cube, попробуйте установить последнюю версию.Некоторое время, когда вы обновляете расширения, которые зависят от ion cube, возникает несовместимость со старыми версиями.

7) Установите short_open_tag = On в php.ini. Иногда разработчики используют теги <? ?>, а если short_open_tagне установлено, вы можете столкнуться с такими проблемами, как половина искаженной страницы и т. д.

8) Увеличьте значения max_input_vars и post_max_size для php.Это помогает, когда вы пытаетесь сохранить большое количество налоговых ставок в налоговом правиле и получить пустую страницу.

4 голосов
/ 28 марта 2012

Это может быть так же просто, как конфликт шаблона.Вернуться к шаблону по умолчанию в System/Configuration/Design/Themes.

3 голосов
/ 20 августа 2013

У меня тоже была такая же проблема, но она была решена после отключения компилятора и повторной переустановки расширения. Отключить компилятор можно с помощью system-> configration-> tools-> compilation .. Здесь отключить процесс ... Удачи

1 голос
/ 24 января 2011

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

1 голос
/ 28 июня 2011

Я тоже столкнулся с этой ошибкой. Ошибка была исправлена ​​путем изменения содержимого основной функции getRowUrl в app \ code \ core \ Mage \ Adminhtml \ Block \ Widget \ Grid.php Основная функция:

public function getRowUrl($item) 
{ 
$res = parent::getRowUrl($item); 
return ($res ? $res : ‘#’); 
}

Заменено на:

public function getRowUrl($item) 
{ 
return $this->getUrl(’*/*/edit’, array(’id’ => $item->getId())); 
}

Для более подробной информации: http://bit.ly/iTKcer

Наслаждайтесь !!!!!!!!!!!!!

1 голос
/ 27 ноября 2012

У меня была такая же проблема, она была решена после переустановки моей темы

0 голосов
/ 12 сентября 2017

Иногда это происходит потому, что символические ссылки не разрешены в настройках шаблона: Advanced > Developer > Template Settings > Allow Symlinks

...