Magento Как отладить пустой белый экран

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

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

Но никаких ошибок не регистрируется ?!

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


person sulman    schedule 24.01.2011    source источник
comment
Обновление Как бы я ни хотел принять ответ, я не верю, что есть один отдельный ответ на эту проблему. Большинство, похоже, согласны с тем, что первое, что нужно проверить, - это память, но, по моему опыту, это не ответ на мою проблему. Я оставлю это открытым и надеюсь, что это может послужить источником информации для других. Спасибо.   -  person sulman    schedule 13.08.2012
comment
По моему опыту нет обновление magento никогда не было успешным с первой попытки. В сценариях обновления так много подводных камней и ошибок .... Я так счастлив иметь его внутри виртуальной машины, поддерживающей моментальные снимки ... Я не мог себе представить, чтобы запустить его в обычном веб-пространстве без такого рода отказоустойчивости .   -  person cljk    schedule 11.11.2013
comment
@sulman app / code / core / Mage / Core / Functions.php mageCoreErrorHandler переопределяет обработчик ошибок PHP по умолчанию. Таким образом, в случае ошибки памяти или любой другой ФАТАЛЬНОЙ ошибки он не работает, по крайней мере, для большинства людей, которые решают эту проблему, когда они увеличивают лимит памяти PHP.   -  person Haijerome    schedule 12.09.2014
comment
Еще один отличный источник - это magento.stackexchange Q&A = ›magento.stackexchange.com/questions/428/   -  person Fiasco Labs    schedule 05.12.2015


Ответы (18)


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

  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)

  1. Я удалил файл testimonial.xml в своем приложении / etc / modules / testimoanial.xml.
  2. удалить файл «maintenance.flag».
person Shashank Saxena    schedule 02.02.2015
comment
Очень полезно! Сообщил мне об ошибке с SourceGuardian и версией PHP, которую я использовал. - person johnsnails; 30.03.2016
comment
@shashank огромное спасибо. мне было очень полезно определить проблему на рабочем сервере. - person Pradeep Sanku; 15.09.2016
comment
Предупреждение: это вызовет ошибки, мне не удалось редактировать клиентов после этого, потому что это повреждает ответ json от isAjax. - person Black; 14.02.2019
comment
Очень полезно, это был единственный способ увидеть, что требуемый файл отсутствует при включенном кешировании Redis. Ничего не было показано в / var / logs или журнале ошибок PHP, и простое включение ошибок отображения тоже не помогло. Спасибо - person Ziki; 25.03.2019

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

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

person clockworkgeek    schedule 24.01.2011
comment
Хм интересное предложение. Спасибо за это. Я проверю настройки памяти. - person sulman; 24.01.2011
comment
@clockworkgeek Вы на месте. Я подтверждаю, что в моем случае, по-видимому, это связано с ограничением памяти PHP. Итак, если я не ошибаюсь, если у кого-то возникает эта проблема, они должны нажать на этот файл app / code / core / Mage / Core / functions.php метод mageCoreErrorHandler. Пожалуйста, поправьте меня, если ошибаюсь. - person Haijerome; 12.09.2014

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

rm -rf var/cache/* 

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

person JonaPkr    schedule 12.12.2012

Следующие могут быть причинами пустых страниц в magento

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

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

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

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

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

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

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

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

person Mukesh    schedule 09.05.2014

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

person user4015    schedule 28.03.2012

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

person Pavan Kumar    schedule 20.08.2013
comment
Как бы вы это сделали, если у вас вообще нет доступа к админке? - person Ogier Schelvis; 23.11.2015

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

person dan.codes    schedule 24.01.2011
comment
Я запускаю скрипты проверки Magento, чтобы убедиться, что у меня есть все необходимые расширения. Спасибо. - person sulman; 24.01.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.

Наслаждаться!!!!!!!!!!!!!

person Sanjeev Kumar Jha    schedule 28.06.2011

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

person David van Diepen    schedule 27.11.2012
comment
то же самое. Возникла проблема с версткой XML темы. - person Paktas; 24.03.2014

У меня также возникла такая же проблема при загрузке проекта magento на мой веб-сервер: В моем случае zip-файл поврежден во время процесса загрузки, и многие из моих файлов php также повреждены. Я загрузил через ftp. Я нашел решение для этого. Если вы создаете zip-файл на компьютере с Linux, попробуйте использовать инструмент командной строки (например: т.е.

zip -r my_archive.zip /path/of/files/to/compress/ )

и загрузите на свой веб-сервер из клиента Windows filezilla.

person livares Technologies Pvt Ltd    schedule 12.08.2012
comment
Лично (если я не разбираюсь в гудроне), я использую именно этот метод. Хотя интересная информация. - person sulman; 13.08.2012

Просто столкнулся с этой проблемой и потерял целый день на ее решение. Попробуйте увеличить memory_limit, что у меня сработало!

person Kajal    schedule 13.06.2012

Это также может быть вызвано использованием закладок xDebug при отладке страницы. Просто остановите отладчик (удалите cookie), и он вернется в нормальное состояние.

person augsteyer    schedule 18.06.2013

Как вы сказали - на этот вопрос есть один самостоятельный ответ.

У меня была такая же проблема после смены темы. Память раньше была установлена ​​на 1024, так что проблема не в этом. Кэш был очищен, и в журнале ошибок не было ничего полезного.

В моем случае решение было другим - старая тема имела собственный шаблон домашней страницы ... Переключение на стандартный исправило это.

person arekstasiewicz    schedule 06.10.2013

ДРУГАЯ ПРИЧИНА

белый экран без сообщений об ошибках может быть фрагментацией кэша APC.

Используйте phpinfo (), чтобы узнать, используется ли он на вашей странице (мы были проблемы с PHP 5.4 + APC 3.1.13), и если да, посмотрите, что произойдет, когда вы

  • отключите его через .htaccess: php_flag apc.cache_by_default off
  • очищайте кеш apc каждый раз, когда вызывается страница: добавьте в начало index.php apc_clear_cache(); (нет решения, но хорошо, чтобы увидеть, является ли проблема APC)

Если у вас есть APC, и это проблема, вы можете

  • поиграйте с его настройками, которые могут быть громоздкими и вообще не работать
  • просто обновитесь до PHP 5.5 и вместо этого используйте его интегрированный кеш кодов операций.
person Larzan    schedule 19.11.2015

Я пробовал все предложенные решения, но не повезло.

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

  • Используйте макет и шаблон adminhtml, чтобы тему администратора можно было загружать

- По сути, получите все файлы (из app / design / adminhtml / default новой версии), скопируйте и вставьте их в папку app / design / adminhtml / default текущего сайта, чтобы заменить все старые файлы, если таковые имеются.

  • Используйте скин adminhtml, чтобы тема админки могла отображаться правильно

- По сути, получите все файлы (из skin / adminhtml / default новой версии), скопируйте и вставьте их в папку skin / adminhtml / default текущего сайта, чтобы заменить все старые файлы, если таковые имеются.

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

Лучше всего использовать контроль версий как GIT или SVN.

person NgocDB    schedule 19.07.2016

В моем случае размер файла index.php был нулевым. Я скопировал исходный файл обратно, и он сработал.

Однако не известно, что стерло содержимое index.php.

person Onur Okyay    schedule 03.08.2017

Мое решение: активация плагина через System -> Config> Advanced> Advanced

person TonkBerlin    schedule 24.08.2017

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

person Roman Snitko    schedule 12.09.2017