Rozwiązywanie problemow
Rozwiązywanie problemow
Konfiguracja projektu polega rownieżna posiadaniu odpowiednich narzędzi debugowania。Na szczęście wiele przydatnych narzędzi jest jużzawartych w pakieciewebapp
。
Odkrywanie narzędzi ob娱乐下载Symfony debugowania
Symfony分析器,Naob娱乐下载 początek ktory oszczędza czas podczas szukaniaźrodła problemu。
Jeśli spojrzysz na stronęgłownąu dołu ekranu powinieneś/ aśzobaczyćpasek narzędzi:
Pierwsząrzeczą,jakąmożesz zauważyć,jest czerwone404年。Pamiętaj,że ta strona jest elementem tymczasowym, ponieważ聂zdefiniowaliśmy jeszcze strony głownej。Nawet jeśli strona domyślna, ktora Cięwita, jest całkiemładna,玩笑到tylko strona błędu。nie Więc prawidłowy kod statusu HTTP 404, 200。Dzięki paskowi narzędzi做debugowania widzisz od新法提案。
Jeśli klikniesz na mały wykrzyknik, otrzymasz pełnąinformacjęopisującąwyjątek jako częśćlogow w profilerze Symfob娱乐下载ony。Jeśli chcesz zobaczyćślad stosu (ang。堆栈跟踪),kliknij na odnośnik“例外”w lewym菜单。
W przypadku pojawienia sięproblemu z kodem zobaczysz stronęz wyjątkiem taką木菠萝poniższa, ktora daje Ci wszystko czego potrzebujesz,赎我źrodło zrozumieć问题jego pochodzenia:
Poświęćtrochęczasu na poznanie informacji zawartych w profilerze Syob娱乐下载mfony klikając na niego。
罗技sąrownieżbardzo przydatne podczas debugowania。ob娱乐下载Symfony posiada wygodne polecenieśledzenia wszystkich logow (z serwera WWW, PHP我Twojej aplikacji):
1
美元ob娱乐下载symfony服务器:日志
Przeprowadźmy mały eksperyment。Otworz公共/ index . php
我zepsuj cośw kodzie PHP (np。dodaj foobar wśrodku kodu)。Odświeżstronęw przeglądarce我obserwuj strumieńdziennika:
1 2
12月21日10:04:59 | | PHP调试PHP解析错误:语法错误,出乎意料的“使用”(T_USE)在公共场合/索引。php在第5行路径= " / usr / bin / php7.42“php =“7.42.0”12月21日10:04:59 | |错误服务器得到(500)/ ip =“127.0.0.1”
Wyjście jest pięknie pokolorowane,赎zwrocićuwagęna błędy。
Zrozumienieśrodowisk Sob娱乐下载ymfony
PonieważSob娱乐下载ymfony分析器jest przydatny tylko podczas developmentu, chcemy uniknąćinstalowania去wśrodowisku produkcyjnym。Domyślnie ob娱乐下载Symfony instaluje tylko国防后勤局środowisk去dev
我测试
。
ob娱乐下载Symfony w pełni wspołgra z ideąśrodowiskw aplikacji。框架十wspiera domyślnie trzy rożneśrodowiska:dev
,刺激
我测试
,啤酒możesz dodaćkolejne。Wszystkieśrodowiska wspołdzielą十山姆kod,啤酒wykorzystująrożnekonfiguracje。
Na przykład wszystkie narzędzia做debugowania sąwłączone wśrodowiskudev
。Wśrodowisku刺激
aplikacja jest zoptymalizowana pod kątem wydajności。
Przełączanie sięz jednegośrodowiska做drugiego można wykonaćpoprzez zmianęzmiennejśrodowiskowejAPP_ENV
。
阿宝wdrożeniu na platformę平台。shśrodowisko (przechowywane wAPP_ENV
)开玩笑automatycznie przełączane na刺激
。
Zarządzanie konfiguracjamiśrodowisk
ZmiennaAPP_ENV
może byćustawiona咱pomocą“prawdziwych zmiennychśrodowiskowych w terminalu:
1
美元出口APP_ENV = dev
Korzystanie z rzeczywistych zmiennychśrodowiskowych jest rekomendowanym sposobem ustawiania wartości takich木菠萝APP_ENV
na serwerach produkcyjnych。啤酒na maszynach deweloperskich koniecznośćzdefiniowania wielu zmiennychśrodowiskowych może byćuciążliwa。Zamiast迪高definiuj我w pliku.env
。
Gotowy plik.env
zostałwygenerowany automatycznie w momencie tworzenia projektu:
提示
Każdy pakiet może dodaćwięcej zmiennychśrodowiskowych做迪高pliku dzięki przepisowi (ang。Flex食谱)używanemu przez Sob娱乐下载ymfony。
Plik.env
,ktory zawiera wartościdomyślneśrodowiska produkcyjnego, jest przechowywany w repozytorium。Możesz nadpisaćte wartości tworząc plik.env.local
。Plik十聂powinien byćzatwierdzany (ang。我dlatego提交).gitignore
domyślnie ignoruje去。
Nigdy聂przechowuj poufnych滑wrażliwych danych w tych plikach。W kolejnym kroku zobaczymy,木菠萝zarządzaćpoufnymi danymi。
Skonfiguruj swoje IDE
Wśrodowisku deweloperskim, kiedy wyjątek zostaje rzucony, Sob娱乐下载ymfony wyświetla stronęz komunikatem wyjątku我jego stosem。Podczas wyświetlaniaścieżki做pliku dodaje odnośnik, ktory otwiera plik我们właściwej linii w Twoim ulubionym IDE, jeśli我odpowiednio skonfigurujesz。ob娱乐下载Symfony obsługuje wiele IDE tuż阿宝instalacji - w tym projekcie używam Visual Studio代码:
1 2 3 4 5 6 7
- - - a / php . ini+ + + b / php . ini@@ 6 3 + 6 4 @@ max_execution_time = 30会话。在realpath_cache_ttl use_strict_mode = = 3600 zend.detect_unicode =+ xdebug.file_link_format = vscode: / /文件/ % f: % l
Odnośniki做plikow聂sąograniczone tylko wyjątkow。国防后勤局przykładu kontroler w pasku narzędzi做debugowania staje sięklikalny阿宝odpowiednim skonfigurowaniu IDE。
Debugowanie wśrodowisku produkcyjnym
Debugowanie serwerow produkcyjnych jest zawsze trudniejsze。聂masz dostępu na przykład profilera Symfonob娱乐下载y。Dzienniki logow sąmniej szczegołowe,啤酒śledzenie ostatnich zapisow jest możliwe:
1
美元ob娱乐下载syob直播appmfony云:日志——尾巴
Możesz nawet połączyćsięprzez SSH z kontenerem webowym:
1
美元ob娱乐下载syob直播appmfony云:ssh
聂martw się,niczegołatwo聂zepsujesz。Większa częśćsystemu plikow jest tylko odczytu。聂będziesz w stanie wykonaćpilnej poprawki wśrodowisku produkcyjnym,啤酒聂przejmuj się,w kolejnych rozdziałach tej książki nauczysz sięo wiele lepszego podejścia。