screen - Magento Как отлаживать пустой белый экран





wsod (16)


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

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

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

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

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

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




Мое решение: активация плагина через систему -> Конфигурация> Дополнительно> Дополнительно




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




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

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

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




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




Ниже приводятся причины, по которым пустые страницы пурпурно

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

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

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

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

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

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

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




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




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

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

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




Я также столкнулся с этой ошибкой. Ошибка была исправлена ​​путем изменения содержимого основной функции getRowUrl в приложении \ 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

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




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




ЕЩЕ ОДНА ПРИЧИНА

для белого экрана без сообщений об ошибках может быть фрагментация кэша 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 и вместо этого используйте встроенный кеш-код.



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

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

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

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

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

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

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

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




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

  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".



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

rm -rf var/cache/* 

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




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




Ответ Антона, хотя и правильный, может немного изобретать колесо. В Magento Core уже есть средство для извлечения таких данных.

Вы можете получить список всех веб-сайтов и их «детей», используя это: Mage::getSingleton('adminhtml/system_store')->getStoresStructure() Вы также можете передать массив функций сайта, storeIds или storeGroupIds, для фильтрации списка:

public function getStoresStructure($isAll = false, $storeIds = array(), $groupIds = array(), $websiteIds = array())

Пример вывода:

Array
(
    [1] => Array
        (
            [value] => 1
            [label] => Main Website
            [children] => Array
                (
                    [1] => Array
                        (
                            [value] => 1
                            [label] => Madison Island
                            [children] => Array
                                (
                                    [1] => Array
                                        (
                                            [value] => 1
                                            [label] => English
                                        )

                                    [2] => Array
                                        (
                                            [value] => 2
                                            [label] => French
                                        )

                                    [3] => Array
                                        (
                                            [value] => 3
                                            [label] => German
                                        )

                                )

                        )

                )

        )

)

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

Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true)

Array
(
    [0] => Array
        (
            [label] => All Store Views
            [value] => 0
        )

    [1] => Array
        (
            [label] => Main Website
            [value] => Array
                (
                )

        )

    [2] => Array
        (
            [label] =>     Madison Island
            [value] => Array
                (
                    [0] => Array
                        (
                            [label] =>     English
                            [value] => 1
                        )

                    [1] => Array
                        (
                            [label] =>     French
                            [value] => 2
                        )

                    [2] => Array
                        (
                            [label] =>     German
                            [value] => 3
                        )

                )

        )

)

Чтобы обнаружить это, я обнаружил мульти-select в Admin, у которого есть данные, которые я хотел, затем я включил подсказки шаблона, чтобы узнать, какой класс блока отвечает за его визуализацию: Mage_Adminhtml_Block_Cms_Page_Edit_Form . Зная это, я нашел класс в базе кода (app / code / core / Mage / Adminhtml / Block / Cms / Block / Edit / Form.php) и разместил часть, которая создает вход, путем поиска его метки («Сохранить Посмотреть"). Это показало мне, как предоставляются значения ввода:

$field =$fieldset->addField('store_id', 'multiselect', array(
    'name'      => 'stores[]',
    'label'     => Mage::helper('cms')->__('Store View'),
    'title'     => Mage::helper('cms')->__('Store View'),
    'required'  => true,
    'values'    => Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true),
));

Mage::getSingleton('adminhtml/system_store') указывает на класс Mage_Adminhtml_Model_System_Store , где я нашел множество подобных методов, которые также могут быть полезны. Посмотрите сами.





magento screen wsod