Jak włączyć tryb programisty w Magento 1.7

20

Próbuję włączyć tryb programisty w witrynie przy użyciu Magento 1.7. Do tej pory dodałem:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

do .htaccesspliku i:

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

do index.phppliku, jak opisano tutaj . Usunąłem nawet Ifklauzulę, pozostawiając jedynie:

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

w pliku index.php. Ale wciąż nie ma szczęścia. czego mi brakuje? Co powinienem zrobić, aby włączyć tryb programisty?

fuumind
źródło
1
Obie metody powinny działać. Co rozumiesz przez „wciąż brak szczęścia”? Co się dzieje, co sprawia, że ​​mówisz, że to nie działa?
Marius

Odpowiedzi:

26

Spróbuj wykonać następujące czynności w swoim index.phppliku:

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

Sprawdź także, czy masz:

1. Wyłącz system pamięci podręcznej > Zarządzanie pamięcią podręczną> Wybierz wszystko [pola wyboru]> Działania = Wyłącz> Prześlij

2. Ponownie zindeksuj cały system> Zarządzanie indeksem> Wybierz wszystko [pola wyboru]> Działania = Reindeks danych> Prześlij

3. Wyłącz system kompilacji > Narzędzia> Kompilacja> Wyłącz

Uwaga: Domyślnie tryb kompilacji jest wyłączony. Więc po prostu sprawdź, czy status kompilatora jest włączony, czy nie.

4. Włącz system rejestrowania > Konfiguracja> Zaawansowane> Deweloper> Ustawienia dziennika> Włączone => Tak

Łoś
źródło
Mage :: setIsDeveloperMode (true); był bilet. Twoje zdrowie.
Darth Egregious,
robię cokolwiek, kiedy włączam ini_set ('display_errors', 1); jego dzieło
Saeed Darvish,
9

Trzy możliwe rzeczy do sprawdzenia

  1. Edytujesz niewłaściwy index.php/ .htaccessplik

  2. W systemie masz inny niestandardowy kod, który wyłącza tryb programisty

  3. Twoje oczekiwania co do tego, co robi programista, są niepoprawne (opisanie niedopasowania oczekiwań może pomóc w debugowaniu Twojego problemu)

Alan Storm
źródło
Dzięki Alan! 1. Pliki, które edytuję, znajdują się w katalogu głównym dokumentu. 2. System to nowa instalacja Magento, więc nie powinno to stanowić problemu. 3. Spodziewam się błędów, które pojawią się w oknie przeglądarki zamiast białej pustej strony, którą otrzymuję. Czy moje oczekiwania są nieco odbiegające od normy?
fuumind
Jaka jest wartość php ini display_errors? Co znajduje się w dziennikach błędów serwera WWW?
Alan Storm
Dzienniki błędów serwerów sieciowych to (oczywiście) miejsce, w którym należy szukać! Dzięki za zwrócenie na to uwagi! :) Czy kiedykolwiek pojawiły się błędy na stronie internetowej, która nie została renderowana lub Magento zawodzi po cichu z założenia?
fuumind
1

Spróbuj wykonać następujące czynności w pliku index.php: Move Mage :: setIsDeveloperMode (true); z warunku 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
źródło
0

Może to być również spowodowane przekierowaniem serwera.

Sprawdź wyjście phpinfo i sprawdź $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']również zmienną.

Objaśnienie:

Jeśli pracujesz z modułem Apache mod_rewrite i chcesz ustawić niektóre zmienne środowiskowe, instrukcja Apache mówi, że dostęp do tych zmiennych można uzyskać za pomocą CGI $ENV{VAR}. W PHP możesz chcieć pisać, $_ENV['VAR']aby uzyskać wartość VAR, ale musisz uzyskać dostęp, jeśli za pośrednictwem $_SERVERi na kilka różnych sposobów:

  1. Przykład: .htaccess i example.php

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

  1. Przykład: .htaccess i index.php

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

Uwaga: Jeśli jakakolwiek reguła RewriteRule jest zgodna, przekierowanie wewnętrzne następuje ponownie (po ostatniej zdefiniowanej regule lub bezpośrednio po dopasowanej regule mającej flagę L), sprawdzając ponownie cały zestaw reguł. W przypadku przekierowania wewnętrznego każda zdefiniowana zmienna VAR otrzymuje prefiks „REDIRECT_”, tzn. Zmienna VAR1 będzie oznaczona jako REDIRECT_VAR1, zmienna VAR2 będzie oznaczona jako REDIRECT_VAR2.

Oczywiście możesz (dodatkowo) przedefiniować oryginalną VAR:

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

Dzięki temu będziesz mieć $_SERVER['REDIRECT_VAR*']i $_SERVER['VAR*'].


Podane przykłady mają jedynie charakter wyjaśniający, w każdym razie nie mają na celu dopasowania do Twoich potrzeb. „\” W przykładach .htaccess służy wyłącznie do wyświetlania, nie powinny występować w prawdziwym pliku .htaccess. Separator argumentów; w linkach może być również „&”, ale może to powodować problemy z HTML / XHTML. Więcej informacji na temat tego problemu można znaleźć na następujących stronach:

Deepanshu Jain
źródło