Как включить режим разработчика в Magento 1.7

20

Я пытаюсь включить режим разработчика на сайте, используя Magento 1.7. Пока я добавил:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

в .htaccessфайл и:

...
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}
...

в index.phpфайл, как описано здесь . Я даже удалил Ifпункт, оставив только:

...
    Mage::setIsDeveloperMode(true);
...

в файле index.php. Но все равно не повезло. Что мне не хватает? Что я должен сделать, чтобы включить режим разработчика?

fuumind
источник
1
Оба ваших метода должны работать. Что вы подразумеваете под "все еще не повезло"? Что происходит, что заставляет вас говорить, что это не работает?
Мариус

Ответы:

26

Попробуйте следующее в вашем index.phpфайле:

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
    ini_set(’display_errors’, 1);
}

Также не забудьте проверить, что у вас есть:

1. Отключить систему кэширования > Управление кэшем> Выбрать все [флажки]> Действия = отключить> Отправить

2. Переиндексировать всю систему> Управление индексами> Выбрать все [флажки]> Действия = Переиндексировать данные> Отправить

3. Отключить систему компиляции > Инструменты> Компиляция> Отключить

Примечание. По умолчанию режим компиляции отключен. Так что просто проверьте, включен ли статус компилятора или нет.

4. Включите систему ведения журнала > Конфигурация> Дополнительно> Разработчик> Настройки журнала> Включено => Да

лось
источник
Mage :: setIsDeveloperMode (истина); был билет. Приветствия.
Дарт Egregious
я делаю что-нибудь, когда включаю ini_set ('display_errors', 1); его работа
Саид Дарвиш
9

Три возможные вещи, чтобы проверить

  1. Вы изменяете неправильный index.php/ .htaccessфайл

  2. У вас есть другой пользовательский код в системе, который отключает режим разработчика

  3. Ваши ожидания от разработчика неверны (описание несоответствия ожиданий может помочь людям отладить вашу проблему)

Алан Сторм
источник
Спасибо Алан! 1. Файлы, которые я редактирую, находятся в корне документа. 2. Система является новой установкой Magento, поэтому проблем не должно быть. 3. Я ожидаю появления ошибок в окне браузера вместо белой пустой страницы, которую я получаю. Мои ожидания немного не соответствуют?
fuumind
Что такое значение php ini display_errors? Что находится в журналах ошибок веб-сервера?
Алан Сторм
Журналы ошибок веб-серверов - это (конечно) место для поиска! Спасибо что подметил это! :) Есть ли когда-либо ошибки на веб-странице, которую не удалось отобразить, или Magento не работает по умолчанию?
fuumind
1

Попробуйте следующее в вашем файле index.php: Move Mage :: setIsDeveloperMode (true); из условия If.


if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
    ini_set(’display_errors’, 1);
}

TO

Mage::setIsDeveloperMode(true); if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { ini_set(’display_errors’, 1); }

Sourav
источник
0

Это также может быть связано с перенаправлением сервера.

Пожалуйста, проверьте вывод phpinfo и проверьте $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']также переменную.

Пояснение:

Если вы работаете с модулем Apache mod_rewrite и хотите установить некоторые переменные среды, руководство Apache сообщает, что эти переменные могут быть доступны в CGI с помощью $ENV{VAR}. В PHP вы можете захотеть написать, $_ENV['VAR']чтобы получить значение VAR, но вы должны получить доступ через него $_SERVERи несколькими различными способами:

  1. Пример: .htaccess и example.php

RewriteEngine на RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]

  1. Пример: .htaccess и index.php

RewriteEngine на RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]

Примечание. Если какой-либо RewriteRule совпадает, внутренний переадресация затем перезапускается (после последнего определенного правила или сразу после соответствующего правила, имеющего L-флаг), снова проверяя весь набор правил. Для внутреннего перенаправления каждый определенный VAR получает префикс 'REDIRECT_', т.е. VAR1 будет REDIRECT_VAR1, VAR2 будет REDIRECT_VAR2.

Конечно, Вы можете (дополнительно) переопределить исходный VAR:

RewriteEngine в RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]

С этим у вас будет $_SERVER['REDIRECT_VAR*']и $_SERVER['VAR*'].


Приведенные примеры служат только для объяснения, в любом случае они не предназначены для удовлетворения ваших потребностей. Символ "\" в примерах .htaccess предназначен только для отображения, он не должен встречаться в реальном файле .htaccess. Разделитель аргументов ';' в ссылках также может быть '&', но это может вызвать некоторые проблемы с HTML / XHTML. Смотрите следующие страницы для получения дополнительной информации об этой проблеме:

Дипаншу Джайн
источник