PHP - debugowanie błędów
Programy rzadko działają poprawnie za pierwszym razem. Wiele rzeczy może pójść źle w twoim programie i spowodować, że interpreter PHP wygeneruje komunikat o błędzie. Masz wybór, dokąd trafiają te komunikaty o błędach. Komunikaty mogą być wysyłane wraz z innymi wyjściami programu do przeglądarki internetowej. Można je również uwzględnić w dzienniku błędów serwera WWW.
Aby komunikaty o błędach były wyświetlane w przeglądarce, ustaw display_errors dyrektywy konfiguracyjnej do On. Aby wysyłać błędy do dziennika błędów serwera WWW, ustawlog_errorsna On. Możesz ustawić je na Włączone, jeśli chcesz, aby komunikaty o błędach były w obu miejscach.
PHP definiuje pewne stałe, których możesz użyć do ustawienia wartości error_reporting takie, że zgłaszane są tylko błędy określonych typów: E_ALL (dla wszystkich błędów z wyjątkiem ostrzeżeń), E_PARSE (błędy analizy), E_ERROR (błędy krytyczne), E_WARNING (ostrzeżenia), E_NOTICE (powiadomienia) i E_STRICT (ostrzeżenia).
Podczas pisania programu PHP dobrym pomysłem jest korzystanie z edytorów obsługujących język PHP, takich jak BBEdit lub Emacs. Jedną ze specjalnych funkcji tych edytorów jest podświetlanie składni. Zmienia kolor różnych części programu w zależności od tego, jakie są te części. Na przykład ciągi znaków są różowe, słowa kluczowe, takie jak if i while, są niebieskie, komentarze - szare, a zmienne - czarne.
Kolejną funkcją jest dopasowywanie cytatów i nawiasów, co pomaga upewnić się, że cudzysłowy i nawiasy są zrównoważone. Po wpisaniu ogranicznika zamykającego, takiego jak}, edytor podświetla otwarcie {, do którego pasuje.
Istnieją następujące punkty, które należy zweryfikować podczas debugowania programu.
Missing Semicolons- Każda instrukcja PHP kończy się średnikiem (;). PHP nie przestaje czytać instrukcji, dopóki nie osiągnie średnika. Jeśli pominiesz średnik na końcu wiersza, PHP będzie kontynuować czytanie instrukcji w następnym wierszu.
Not Enough Equal Signs- Kiedy pytasz, czy dwie wartości są równe w instrukcji porównawczej, potrzebujesz dwóch znaków równości (==). Używanie jednego znaku równości jest częstym błędem.
Misspelled Variable Names- Jeśli błędnie wpisałeś zmienną, PHP rozumie ją jako nową zmienną. Pamiętaj: dla PHP $ test nie jest tą samą zmienną, co $ Test.
Missing Dollar Signs - Brak znaku dolara w nazwie zmiennej jest naprawdę trudny do zauważenia, ale przynajmniej zwykle powoduje wyświetlenie komunikatu o błędzie, aby wiedzieć, gdzie szukać problemu.
Troubling Quotes- Możesz mieć za dużo, za mało lub niewłaściwy rodzaj cytatów. Sprawdź więc, czy liczba cytatów jest zrównoważona.
Missing Parentheses and curly brackets - Powinny być zawsze parami.
Array Index - Wszystkie tablice powinny zaczynać się od zera zamiast od 1.
Ponadto należy poprawnie obsługiwać wszystkie błędy i kierować wszystkie komunikaty śledzenia do pliku dziennika systemowego, aby w przypadku wystąpienia jakiegokolwiek problemu został on zarejestrowany w pliku dziennika systemowego i można było go zdebugować.