ShadowD
18.09.2012, 12:14:08
Jak włączyć wyświetlanie błędów w zf2? Robię co mogę ale za każdym razem mam "Internal Server Error"... W sieci nic nie mogę znaleźć na ten temat. :-(
Grrr ręczeni można dodać:
Kod
ini_set('display_errors', 1);
error_reporting(E_ALL);
Ale czy na pewno nie ma jakiś flag tak jak w zf1?
h3xed
18.09.2012, 14:32:00
w module / Application / config / module.config.php
'display_exceptions' daj na true
ShadowD
18.09.2012, 23:20:02
@h3xed - niestety nie działa, dodałem w configu modułu i próbowałem w globalnym (mam stokową aplikację zenda)... :-(
Jakieś inne pomysły / wskazówki? Szukałem coś o "display_exceptions", ale nic na ten temat nie ma, może link do dokumentacji masz jakiś?
csharp
18.09.2012, 23:27:30
daj może w .htaccess w publicu
SetEnv APPLICATION_ENV development
ShadowD
19.09.2012, 11:56:57
@csharp to był mój pierwszy trop, w końcu zf1 nas do tego przyzwyczaił, ale niestety to nie działa, ehhh przekombinowali powinna być jakaś zmienna lub flaga w htaccess, a tutaj nie dość że nic nie działa to jeszcze nic w dokumentacji na ten temat nie ma. ;-(
csharp
19.09.2012, 12:41:29
faktycznie - jakaś straszna lipa z tym jest... trochę poszperałem i nic ciekawego nie znalazłem...
zobacz tu:
http://zend-framework-community.634137.n4....-td4656187.html
vermis
19.09.2012, 13:05:42
Cytat(ShadowD @ 18.09.2012, 13:14:08 )

... za każdym razem mam "Internal Server Error"...
Ale tutaj zmiana flagi raczej nic nie zmieni, bo to błąd serwera. Szukałbym raczej w okolicach .htaccess. Ewentualnie w logi serwera zajrzyj, może tam coś znajdziesz co cię naprowadzi.
melkorm
19.09.2012, 13:06:11
Cytat
Internal Server Error
Tak zwane 500'tki to raczej szukaj w .htaccess, wyświetlanie wyjątków / błędów nie ma raczej nic tutaj do rzeczy jeżeli nawet w apache error logu nic nie masz.
Wklej .htaccess'a może coś poradzimy.
ShadowD
19.09.2012, 15:04:23
Normą jest że standardowe ustawienie zend'a jedynki jak i dwójki to wyświetlanie zamiast błędów php błąd servera - 500, w jedynce trzeba było ustawić flagę w .htaccess (SetEnv APPLICATION_ENV development) lub zmienić ustawienia w configu, a w dwójce nie znalazłem wbudowanego mechanizmu i jeśli dodaję:
To oczywiście wszystko naprawia i widzę normalne błędy, ale to rozwiązanie obchodzące na siłę fw i jest nie poprawne - przynajmniej w pierwszej odsłonie zend'a.
Ogólnie ilość problemów i dziur w dokumentacji (a to idealny przykład) poraża, jestem strasznie zniesmaczony zend'em na chwilę obecną, nie chce pisać już w jedynce z uwagi na inne problemy i chyba czas zmienić fw na sf.
melkorm
19.09.2012, 15:07:23
Używam Zend'a od 4 lat i nigdy nie rzucił mi Internal Server Error na ekran, ewentualnie białą stroną (exception) a zawsze miałem przy świeżej wersji problem z .htaccessem i zawsze poprawienie go skutkowało działaniem aplikacji.
Zresztą brak error'a w apache error log pokazuje że to nie żaden błąd aplikacji, zresztą daj w index.php w pierwszej linijce exit('foo'); i zobaczysz że w ogóle nie odpala skryptu.
ShadowD
19.09.2012, 16:26:17
Może mam źle skonfigurowanego locala, ale jestem pewnie że nie chodzi o htaccess.
Może tak jeśli ściągnę pliki zend'a (przykładowy projekt) to wszystko działa tak jak powinno, a wystarczy że umyślnie zmienię choćby nazwę głównego modułu (tylko katalogu w configu nic nie dotykając) i mam 500'kę widać mój server zamiast wyświetlać pustą stronę woli dać 500, miałem też tak w zf1, wystarczyło zmienić w configu na wersję "deweloperską" i wszystko śmigało jak trzeba. Teraz jak dodaje te regułki (1 post) w pierwszych liniach php to wyświetla normalny błąd, w tym przypadku o braku plików modułu. Więc wina nie jest po stronie htaccess.
@melkorm - rozumiem, że jak instalujesz zf2 i masz jakiś błąd zawsze pokazuje Ci jego treść czy białą stronę (u mnie jej odpowiednikiem jest 500)?
melkorm
19.09.2012, 18:29:16
Hum, dziwne
Tak ja zawsze miałem białą stronę i nie spotkałem się chyba że przy błędzie syntaxa / exceptiona wywalał mi się htaccess, zawsze gdy miałem Internal Server Error chodziło o htaccess / konfigurację vhosta / serwera itp.
Może wrzucisz na github'a projekt (bo jak rozumiem jest to zend2 skeleton appliaction?) i wtedy luknę lokalnie o co chodzi i czy też mam błąd. Jeszcze czy możesz napisać jaki masz serwer+ Konfiguracja (wersja php, apache itp) i sprawdź czy w error_logu apacha nic nie masz.
ShadowD
19.09.2012, 21:34:20
W logu apacha jest błąd, po prostu zamiast dać białą stronę wyświetla 500.
Błąd popełniam specjalnie na tą chwilę by być pewnym co zrobiłem, innymi słowy co zrobić w zf2 by wyświetlały się błędy zamiast białej strony?
Server to najnowsza kompilacja od zend'a, projekt to też ich kompilacja. :-) Chodzi mi tylko o regułkę by aplikacja przeszła w stan dev, a nie produkcyjny.
melkorm
19.09.2012, 21:56:41
Z tego co wiem wszystko co robisz w kwestii czy to produkcja czy dev to Twoja brocha - jak to zawsze w myśl zend'a, więc sądzę że problem leży gdzie indziej, chociaż dużo zendem 2 się nie bawiłem ale problemów z tym nie miałem, zresztą 500'tka przy błędzie php'a ? Wciąż mi się wierzyć nie chce
viking
20.09.2012, 08:29:21
Bo w starym zendzie jeśli korzystałeś z Zend_Application config wyglądał tak:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
Czyli wrapper na ini_set(). Ewentualnie wyjątki do tego. W związku z czym w większości przypadków zamiast 500 na prod user widział białą stronę, na devie były wyświetlane. Ale szczerze mówiąc nie jestem w stanie się doszukać jak to wygląda na ZF2. Oczywiście można ustawić w .htaccess ale też uważam że nie tędy droga. Chyba najlepszym wyjściem będzie zapytać u źródeł (a często odpowiadają trzeba przyznać) i podlinkuj tutaj wątek.
ShadowD
21.09.2012, 23:28:58
@viking dokładnie o to chodzi, miło że ktoś załapał temat. ;-)
Napiszę gdzieś na forum Zend'a i dodam odpowiedź tutaj jeśli będę coś wiedzieć.
vermis
3.10.2012, 13:06:44
Cytat(melkorm @ 19.09.2012, 22:56:41 )

zresztą 500'tka przy błędzie php'a ? Wciąż mi się wierzyć nie chce

Ja też się dziwiłem, aż do dziś

Miałem dokładnie ten sam problem, czyli Error 500 przy błędzie w php. Okazuje się że zmiana display_errors na Off daje takie skutki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.