Як увімкнути режим розробника в 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. Але все одно не везе. Що я пропускаю? Що мені робити, щоб увімкнути режим розробника?


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 (вірно); був квиток. Ура.
Дарт Егрегійний

я роблю будь-яку річ, коли включаю ini_set ('display_errors', 1); її робота
Саїд Дарвіш

9

Три можливі речі для перевірки

  1. Ви редагуєте неправильний файл index.php/ .htaccessфайл

  2. У вас є інший спеціальний код у системі, який вимикає режим розробника

  3. Ваші очікування щодо того, що робить розробник, є невірним (опис вашої невідповідності очікувань може допомогти людям налагодити вашу проблему)


Спасибі Алан! 1. Файли редагування файлів розміщені у корені документа. 2. Система є новою установкою Magento, так що це не повинно бути проблемою. 3. Я очікую, що у вікні браузера з’являться помилки замість білої порожньої сторінки, яку я отримую atm. Мої очікування трохи не змикаються?
fuumind

Яке значення display_errors php ini? Що в журналах помилок веб-сервера?
Алан Шторм

Журнали помилок веб-серверів - це, звичайно, місце, де потрібно подивитися! Дякуємо, що вказали на це! :) Чи відображаються помилки на веб-сторінці, яку не вдалося відобразити, або Magento мовчки не виходить з ладу?
fuumind

1

Спробуйте наступне у файлі index.php: Move Mage :: setIsDeveloperMode (true); з Якщо стан.


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); }


0

Це може бути пов'язано і з перенаправленням сервера.

Перевірте вихід phpinfo і перевірити $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']також змінну.

Пояснення:

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

  1. Приклад: .htaccess та example.php

Перепишіть мову на RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]

  1. Приклад: .htaccess та index.php

ПерепишітьEngine на 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. Дивіться наступні сторінки для отримання додаткової інформації про цю проблему:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.