Dobór edytora i środowiska uruchomieniowego, przygotowanie lokalnego projektu w XAMPP oraz sprawdzanie Apache, PHP i bazy. Narzędzia przeglądarki i diagnoza typowych problemów. Lekcja 10.3 kursu INF.03.
Środowisko programistyczne to zestaw narzędzi do pisania, uruchamiania i sprawdzania programu. Na egzaminie trzeba dobrać narzędzie do języka, przygotować lokalny serwer WWW oraz serwer bazy danych. W praktyce najpierw uruchamia się mały działający przykład, aby późniejszy błąd aplikacji nie mieszał się z błędem instalacji.
Edytor i IDE
Edytor kodu to program do tworzenia plików źródłowych. Podświetlanie składni rozróżnia elementy języka, numeracja wierszy ułatwia odczyt komunikatu, a wyszukiwanie pomaga znaleźć powtórzoną nazwę. Visual Studio Code jest przykładem edytora, który można rozszerzać dodatkami. Podpowiedź kodu bywa przydatna, ale nie dowodzi poprawności przyjętej logiki.
IDE (Integrated Development Environment, zintegrowane środowisko programistyczne) łączy edycję z dodatkowymi narzędziami, na przykład uruchamianiem, analizą projektu i debuggerem. Debugger pozwala zatrzymywać wykonanie i odczytywać stan programu. Granica między rozbudowanym edytorem a IDE jest płynna, bo rozszerzenia mogą dodawać te funkcje. Najważniejsze jest to, czy wybrane narzędzia obsługują używany język i sposób uruchamiania.
Do samego HTML i CSS wystarczy edytor oraz przeglądarka. JavaScript strony wykonuje silnik przeglądarki. PHP wymaga interpretera po stronie serwera lub uruchomienia z konsoli, a skrypt korzystający z MySQL wymaga także działającego serwera bazy. Zainstalowanie edytora nie instaluje automatycznie wszystkich tych usług. Kolorowe rozszerzenie pliku PHP nie jest interpreterem.
Projekt otwiera się jako folder, aby widzieć powiązane pliki. Ustal prostą strukturę: plik strony, arkusz stylów, plik skryptu i katalog obrazów. Nazwy bez spacji oraz konsekwentna wielkość liter ograniczają pomyłki. System na serwerze może rozróżniać wielkie i małe litery, nawet jeśli lokalny system pozwalał na inne zapisanie nazwy. Ścieżka w kodzie musi odpowiadać rzeczywistemu plikowi.
Instalacja lokalnego pakietu
XAMPP to pakiet środowiska lokalnego zawierający między innymi Apache, PHP, MariaDB i phpMyAdmin. Apache obsługuje żądania WWW, PHP wykonuje skrypty, MariaDB przechowuje dane, a phpMyAdmin daje panel do zarządzania bazą. W panelu usługa bazy może nadal mieć etykietę MySQL. Szczegóły składu pakietu i jego przeznaczenie opisuje Apache Friends. Pobierz pakiet z oficjalnego źródła i wybierz wersję odpowiednią do ćwiczeń lub wymaganego stanowiska. Przed zmianą istniejącej instalacji zabezpiecz własne pliki i bazy. Instalacja nowego pakietu na katalog starego nie jest metodą migracji danych. Na stanowisku egzaminacyjnym najpierw sprawdź, co przygotowano, zamiast samodzielnie przebudowywać środowisko.
Typowa kolejność przygotowania lokalnego projektu wygląda następująco:
1.
Zainstaluj pakiet i sprawdź położenie katalogów oraz wersje składników.
2.
Uruchom Apache w panelu i odczytaj komunikat o stanie usługi.
3.
Otwórz adres localhost przez HTTP i sprawdź odpowiedź serwera.
4.
Umieść własny mały plik PHP w katalogu dokumentów i otwórz go przez serwer.
5.
Uruchom usługę bazy, otwórz phpMyAdmin i sprawdź połączenie.
6.
Dopiero potem dodawaj pliki właściwej aplikacji i jej dane.
XAMPP jest przeznaczony do środowiska deweloperskiego, czyli przygotowywania oprogramowania. Nie należy wystawiać domyślnej lokalnej konfiguracji jako gotowego publicznego serwera. Konta, dostęp sieciowy i ustawienia diagnostyczne wymagają osobnej konfiguracji produkcyjnej. W ćwiczeniu utrzymujemy usługi lokalnie i nie otwieramy portów szeroko tylko po to, aby ominąć błąd połączenia.
Localhost i pierwszy plik
Localhost oznacza własny komputer w kontekście uruchomionego klienta. Dla przeglądarki telefonu localhost jest telefonem, a nie laptopem obok. Adres URL kieruje żądanie do usługi, natomiast ścieżka dyskowa wskazuje plik w systemie plików. Te dwie postacie nie są zamienne.
W typowej instalacji XAMPP na Windows katalog dokumentów to htdocs. Jeśli pakiet zainstalowano w C:\xampp, projekt można umieścić w C:\xampp\htdocs\sklep. Plik index.php będzie wtedy dostępny przez adres serwera z końcówką /sklep/index.php. W innej instalacji lokalizacja może być inna; sprawdza się ją w konfiguracji serwera.
<?php
echo "Środowisko działa";
Odpowiedź powinna zawierać tekst „Środowisko działa”. Jeżeli przeglądarka pokazuje kod źródłowy albo proponuje pobranie pliku, wykonanie PHP nie zostało poprawnie skonfigurowane. Otwarcie pliku dwuklikiem i adres zaczynający się od file nie wysyłają go automatycznie do interpretera serwera. Podstawy wykonania opisuje lekcja o działaniu PHP. Serwer WWW nasłuchuje na porcie. Gdy wybrany port jest zajęty przez inną usługę, start może się nie udać. Najpierw odczytaj log i ustal konflikt. Po uzasadnionej zmianie portu trzeba użyć go także w adresie przeglądarki. Zmiana na 8080 oznacza adres z fragmentem localhost:8080, a nie dalsze odświeżanie adresu bez portu.
Konfiguracja serwera i bazy
Konfiguracja Apache określa między innymi port i katalog dokumentów. Główny plik zwykle nazywa się httpd.conf; może dołączać kolejne pliki. Po zmianie konfiguracji trzeba ją poprawnie wczytać przez ponowne uruchomienie usługi. Znaczenie plików opisuje dokumentacja Apache. Przed zmianą zapisuje się kopię pliku, a po niej sprawdza komunikaty startu. PHP korzysta z pliku php.ini. Ustawienia mogą różnić się między uruchomieniem w konsoli i przez serwer WWW, dlatego nie wystarczy znaleźć dowolny plik o tej nazwie. Należy sprawdzić konfigurację rzeczywiście używanego procesu. Informacje o ładowaniu ustawień podaje dokumentacja PHP. Zmiana nieużywanego pliku nie wpłynie na działającą stronę. Serwer bazy uruchamia się osobno. Następnie klient, na przykład phpMyAdmin, łączy się z hostem i portem, używając konta bazy. Można utworzyć testową bazę i tabelę, a później ponownie je odczytać. phpMyAdmin nie jest samą bazą, a zamknięcie jego karty nie wyłącza serwera. Instalację, konfigurację i wybór SZBD rozwija lekcja o XAMPP i phpMyAdmin. Przy pracy aplikacji sprawdź cztery informacje połączenia: host, nazwę bazy, użytkownika oraz sposób uwierzytelnienia. Błąd nieznanej bazy wymaga innej poprawki niż odrzucone hasło. Nie usuwaj danych i nie przyznawaj pełnych praw wszystkim kontom, aby pozbyć się komunikatu. Konto techniczne powinno mieć prawa potrzebne do działania programu.
Narzędzia przeglądarki
Narzędzia deweloperskie przeglądarki to panel pokazujący dokument, skrypty i żądania. Elements (elementy) pozwala obejrzeć bieżącą strukturę i zastosowane style. Console (konsola) pokazuje komunikaty i błędy JavaScript. Network (sieć) przedstawia żądania, adresy, kody odpowiedzi i czas. Sources (źródła) służy między innymi do analizy kodu i zatrzymywania jego wykonania.
Zmiana stylu w panelu Elements zwykle nie zapisuje pliku projektu. Odświeżenie strony może ją usunąć. Gdy znajdziesz właściwą poprawkę, przenieś ją do źródła w edytorze, zapisz i przeładuj. Podobnie wynik polecenia w konsoli nie staje się automatycznie częścią skryptu. Narzędzia przeglądarki pomagają badać stan działającej strony.
Załóżmy, że nie wczytuje się obraz. Panel Network pokaże adres i odpowiedź 404, jeśli serwer nie znalazł pliku. Sprawdź ścieżkę, nazwę i wielkość liter. Jeżeli obraz się pobrał, lecz go nie widać, przyczyna może leżeć w stylach lub układzie. Taki podział pozwala badać konkretną warstwę zamiast zmieniać równocześnie HTML, CSS i serwer.
Na egzaminie
Dopasuj środowisko do wymagania: edytor do pisania, interpreter do PHP, serwer WWW do obsługi adresu i SZBD do danych. Po przygotowaniu wykonaj małą próbę każdego składnika. Działająca strona startowa Apache nie dowodzi jeszcze, że własny plik ma poprawną ścieżkę albo że połączenie z bazą działa.
Pułapka: localhost zawsze odnosi się do urządzenia uruchamiającego klienta. Ten sam adres na telefonie i komputerze może prowadzić do dwóch różnych środowisk.
Przed oddaniem pracy otwórz wymagany adres, sprawdź konsolę i zapisz pliki źródłowe. Zrzuty rób po rzeczywistym uruchomieniu projektu. Folder z niezapisanymi zmianami w edytorze nie jest gotowym rezultatem.
Ściąga
Narzędzie lub pojęcie
Zadanie
edytor
zapis plików źródłowych
IDE
edycja z narzędziami projektu i debugowaniem
PHP
wykonanie skryptu serwera
MariaDB
serwer bazy danych
phpMyAdmin
klient administracyjny bazy
localhost
urządzenie klienta
Console
komunikaty i błędy JS
Network
żądania i odpowiedzi
Pobierz ściągę PDF