2011-08-02 29 views
13

Administrator zainstalował Xdebug 2.1.1 na naszym udostępnionym serwerze PHP 5.3.0, aby móc korzystać z jego debuggera. Teraz trudno mi odczytać ślady stos uncatched wyjątków, ponieważ są one formatowane przez Xdebug z irytujących kolorach, które oddziałują źle z CSS witryny:Wyłącz śledzenie stosu HTML przez Xdebug

Unreadable stack trace

Ponieważ PHP działa jako moduł Apache, starałem się wyłączyć tę funkcję w pliku .htaccess ale nie mogę zrobić to iść:

php_flag xdebug.default_enable Off 
php_flag xdebug.overload_var_dump Off 
php_flag xdebug.show_exception_trace Off 
php_value xdebug.trace_format 1 

phpinfo() pokazuje moje zmiany w kolumnie lokalna wartość, ale wciąż widzę tych strasznych tabele Orange. Jaką dyrektywę muszę zmienić?

+0

http://xdebug.org/docs/stack_trace – hakre

Odpowiedz

11

Sprawdź xdebug_disable()Docs:

Wyłącza stos ślady

wyłączyć pokazywanie śladów stos na warunkach błędach.

Zobacz także xdebug.default_enableDocs.

+0

'xdebug.default_enable' nie ma widocznego efektu, ale wywołanie' xdebug_disable() 'na górze mojego kodu działa dobrze. Zobaczę, jak spakować go w moich ustawieniach strony internetowej. –

+0

Spróbuj umieścić 'xdebug.default_enable' w php.ini systemu, może to działa. Dodatkowo prawdopodobnie przyda się również '0' zamiast' off' w konfiguracji .htaccess, ale to tylko założenie, którego nie przetestowałem. – hakre

+0

W porządku ... Zrobiłem dalsze testy, a dyrektywa * jest * 'xdebug.default_enable', ale wygląda na to, że jest gdzieś błąd: w udostępnionym serwerze programisty jest ignorowany, w mojej lokalnej instalacji jest w pełni honorowany. –

9

Musisz się upewnić, że masz również html_errors=0 w PHP. Również pomarańczowy nie jest straszna ;-)

+0

Nie jestem pewien, rozumiem. Używam już błędów HTML razem z 'error_prepend_string' i' error_append_string', dzięki czemu mogę wyświetlać dane o wierszach. Jeśli go wyłączysz, Xdebug nie narysuje HTML, ale spowoduje to, że błąd będzie również nieczytelny, ponieważ wszystko jest w jednym wierszu. Nie chcę wyszukiwać komunikatów o błędach w oknie * Wyświetl źródło * ... –

+0

Bardzo przydatne, jeśli wyprowadzasz json z PHP do użytku z Javascriptem, kątowe i to wszystko. – Pere

+1

Jeśli @derick odpowiada, lepiej posłuchaj. Napisał XDebug. –

6

Dodaj następujący kod w skrypcie inicjującym:

if (function_exists('xdebug_disable')) { 
      xdebug_disable(); 
     } 
+1

Zwróć uwagę, że [remote_autostart] (http://xdebug.org/docs/all_settings#remote_autostart) i [remote_enable] (http: // xdebug. org/docs/all_settings # remote_enable) kontroluje debugger. Nie mają nic wspólnego ze śladami stosu. –

+0

Jak powiedział Alvaro, opcja nr 2 nie ma nic wspólnego z wyświetlaniem śladu stosu HTML. – rockerston

+0

Zaktualizowany zgodnie z sugestią. – Sumoanand

Powiązane problemy