Lekcja 2: Konfiguracja środowiska deweloperskiego (Laravel Herd, PHP 8.4)

Witaj w drugiej lekcji kursu PHP! Po zrozumieniu, czym jest PHP i do czego służy, nadszedł czas, aby przygotować nasze narzędzia pracy. Zanim będziesz mógł napisać i uruchomić swój pierwszy skrypt PHP, musisz skonfigurować lokalne środowisko deweloperskie. W tej lekcji przeprowadzimy Cię krok po kroku przez proces instalacji i konfiguracji niezbędnego oprogramowania, skupiając się na narzędziu Laravel Herd, które znacznie upraszcza ten proces, szczególnie dla użytkowników macOS i Windows. Omówimy również alternatywne podejścia, abyś miał szerszy obraz dostępnych możliwości.

Czym jest lokalne środowisko deweloperskie?

Lokalne środowisko deweloperskie to zestaw oprogramowania zainstalowanego na Twoim komputerze, który symuluje działanie prawdziwego serwera WWW. Pozwala to na tworzenie, testowanie i debugowanie aplikacji internetowych (w tym skryptów PHP) bezpośrednio na Twojej maszynie, bez potrzeby publikowania ich w internecie na każdym etapie prac. Główne komponenty typowego środowiska deweloperskiego dla PHP to:

Posiadanie dobrze skonfigurowanego lokalnego środowiska jest kluczowe dla efektywnej pracy programisty. Pozwala na szybkie iteracje, testowanie zmian w czasie rzeczywistym i pracę w trybie offline.

Dlaczego Laravel Herd?

Zgodnie z Twoim życzeniem, w tej lekcji skupimy się na Laravel Herd. Herd to darmowe, natywne środowisko deweloperskie dla PHP i Laravel, stworzone przez zespół Laravel. Jego głównym celem jest maksymalne uproszczenie procesu konfiguracji i zarządzania lokalnym środowiskiem na systemach macOS i Windows. Oto niektóre z jego kluczowych zalet:

Dla początkujących programistów PHP, Laravel Herd eliminuje wiele frustracji związanych z ręczną konfiguracją środowiska, pozwalając skupić się bezpośrednio na nauce języka.

Instalacja Laravel Herd

Proces instalacji Laravel Herd różni się nieznacznie w zależności od systemu operacyjnego.

Instalacja na macOS

  1. Pobierz Instalator: Przejdź na oficjalną stronę Laravel Herd (herd.laravel.com) i pobierz najnowszą wersję instalatora dla macOS (plik .dmg).
  2. Zainstaluj Aplikację: Otwórz pobrany plik .dmg i przeciągnij ikonę Laravel Herd do folderu Aplikacje (Applications).
  3. Uruchom Herd: Po zainstalowaniu, uruchom Laravel Herd z folderu Aplikacje. Ikona Herd pojawi się na pasku menu macOS.
  4. Pierwsza Konfiguracja: Przy pierwszym uruchomieniu Herd może poprosić o hasło administratora w celu zainstalowania niezbędnych usług systemowych (np. serwera Nginx i PHP). Herd automatycznie zainstaluje najnowszą stabilną wersję PHP (np. PHP 8.3 w momencie pisania tej lekcji, ale dąży do wspierania PHP 8.4 gdy tylko będzie stabilne i szeroko dostępne w jego dystrybucji).
  5. Dodawanie Wersji PHP (w tym PHP 8.4): Kliknij na ikonę Herd na pasku menu, wybierz "Preferences" (Preferencje), a następnie przejdź do zakładki "PHP". Herd wyświetli listę dostępnych do zainstalowania wersji PHP. Znajdź PHP 8.4 (lub najnowszą dostępną wersję 8.x) i kliknij przycisk "Install" (Zainstaluj) obok niej. Po zakończeniu instalacji możesz ustawić ją jako domyślną wersję globalną lub dla poszczególnych projektów.

Instalacja na Windows

  1. Pobierz Instalator: Odwiedź oficjalną stronę Laravel Herd (herd.laravel.com) i pobierz instalator dla systemu Windows (plik .exe).
  2. Uruchom Instalator: Uruchom pobrany plik .exe i postępuj zgodnie z instrukcjami na ekranie. Instalator przeprowadzi Cię przez proces instalacji Herd i jego zależności.
  3. Uruchom Herd: Po zakończeniu instalacji, uruchom Laravel Herd. Ikona aplikacji powinna pojawić się w zasobniku systemowym (system tray).
  4. Pierwsza Konfiguracja i Instalacja PHP: Podobnie jak na macOS, Herd na Windows automatycznie zainstaluje domyślną wersję PHP. Aby dodać PHP 8.4, kliknij prawym przyciskiem myszy na ikonę Herd w zasobniku systemowym, wybierz "Manage PHP Versions" (Zarządzaj Wersjami PHP) lub podobną opcję. W interfejsie Herd znajdź i zainstaluj PHP 8.4.
  5. Integracja z WSL (Opcjonalnie): Herd na Windows oferuje możliwość integracji z Windows Subsystem for Linux (WSL), co pozwala na uruchamianie projektów w środowisku Linuksowym. Dla celów tego kursu podstawowa instalacja natywna na Windows będzie wystarczająca.

Po zainstalowaniu Herd i wybranej wersji PHP (np. 8.4), Twoje lokalne środowisko deweloperskie jest prawie gotowe do pracy!

Konfiguracja Projektów (Sites) w Laravel Herd

Laravel Herd domyślnie skanuje określony folder na Twoim komputerze w poszukiwaniu projektów PHP i automatycznie konfiguruje dla nich lokalne domeny. Domyślnie jest to folder ~/Herd na macOS lub C:\Herd (lub podobny, wskazany podczas instalacji) na Windows.

  1. Utwórz Folder dla Projektów Kursu: Wewnątrz głównego folderu Herd (np. ~/Herd) utwórz nowy folder dla projektów związanych z tym kursem, np. kurs-php.
  2. Dodaj Ścieżkę do Herd (jeśli konieczne): W preferencjach Herd (zakładka "Sites" lub "Paths") możesz dodać dodatkowe foldery, które Herd ma skanować w poszukiwaniu projektów. Upewnij się, że folder, w którym będziesz tworzyć swoje projekty PHP, jest tam wymieniony.
  3. Tworzenie Pierwszego Projektu: Wewnątrz folderu kurs-php (np. ~/Herd/kurs-php/) utwórz nowy podfolder dla pierwszej lekcji lub testowego projektu, np. lekcja2-test.
  4. Utwórz Plik index.php: W folderze lekcja2-test utwórz plik o nazwie index.php i dodaj do niego prosty kod PHP:
<?php

echo "Witaj w Laravel Herd! PHP działa poprawnie.";
phpinfo(); // Wyświetla szczegółowe informacje o konfiguracji PHP

?>
  1. Dostęp do Strony w Przeglądarce: Herd automatycznie tworzy lokalne domeny dla każdego folderu (projektu) w skonfigurowanych ścieżkach. Domyślnie domena będzie miała postać nazwa-folderu.test. W naszym przypadku, powinieneś móc otworzyć w przeglądarce adres http://lekcja2-test.test (lub https://lekcja2-test.test, jeśli Herd automatycznie włączył SSL).

Jeśli wszystko poszło dobrze, powinieneś zobaczyć napis "Witaj w Laravel Herd! PHP działa poprawnie." oraz długą listę informacji wygenerowaną przez funkcję phpinfo(). Ta strona potwierdza, że Twój serwer WWW (Nginx dostarczany z Herd) i interpreter PHP działają poprawnie.

Funkcja phpinfo() jest niezwykle przydatna do weryfikacji konfiguracji PHP, sprawdzania załadowanych rozszerzeń, wartości dyrektyw konfiguracyjnych (np. memory_limit, upload_max_filesize) i wersji PHP. Pamiętaj jednak, aby nigdy nie zostawiać pliku z wywołaniem phpinfo() na produkcyjnym serwerze, ponieważ ujawnia on wiele wrażliwych informacji o konfiguracji serwera.

Instalacja i Konfiguracja Bazy Danych

Jak wspomnieliśmy, darmowa wersja Laravel Herd nie zawiera wbudowanych serwerów baz danych. Dla potrzeb tego kursu będziemy używać SQLite oraz MySQL/MariaDB. Oto jak je skonfigurować:

SQLite

SQLite to lekka, plikowa baza danych, która nie wymaga osobnego serwera. Wsparcie dla SQLite jest zazwyczaj wbudowane w standardową dystrybucję PHP, więc po zainstalowaniu Herd i PHP, powinieneś mieć już możliwość pracy z SQLite.

  1. Weryfikacja Rozszerzenia PDO SQLite: Na stronie wygenerowanej przez phpinfo() (http://lekcja2-test.test), wyszukaj sekcję "pdo_sqlite". Jeśli jest włączona (enabled), wszystko jest gotowe. Jeśli nie, w preferencjach Herd (zakładka PHP, następnie "Extensions" lub "Manage Extensions" dla wybranej wersji PHP) upewnij się, że rozszerzenie pdo_sqlite jest zaznaczone/aktywne.
  2. Narzędzia do Zarządzania SQLite: Do przeglądania i zarządzania plikami baz danych SQLite możesz użyć darmowych narzędzi takich jak DB Browser for SQLite (sqlitebrowser.org), które jest dostępne na Windows, macOS i Linux.

Praca z SQLite w PHP jest bardzo prosta i omówimy ją szczegółowo w lekcji 30.

MySQL/MariaDB z MySQL Workbench

MySQL i jego popularny fork MariaDB to potężne, serwerowe systemy zarządzania bazami danych. Do ich instalacji i zarządzania użyjemy oficjalnych instalatorów oraz narzędzia MySQL Workbench.

  1. Pobierz i Zainstaluj MySQL Community Server:
    • Przejdź na stronę pobierania MySQL (dev.mysql.com/downloads/mysql/).
    • Pobierz MySQL Installer dla Windows lub odpowiednie pakiety dla macOS (np. plik .dmg lub przez Homebrew: brew install mysql).
    • Podczas instalacji na Windows, wybierz typ instalacji "Developer Default" lub "Server only" jeśli potrzebujesz tylko serwera. Ustaw hasło dla użytkownika root (zapamiętaj je!). Upewnij się, że serwer MySQL jest skonfigurowany do uruchamiania jako usługa systemowa.
    • Na macOS, po instalacji z .dmg, serwer MySQL można uruchomić z Preferencji Systemowych. Jeśli instalujesz przez Homebrew, serwer można uruchomić poleceniem brew services start mysql.
  2. Pobierz i Zainstaluj MySQL Workbench:
  3. Połączenie z Serwerem w MySQL Workbench:
    • Uruchom MySQL Workbench.
    • Na ekranie głównym kliknij "+" obok "MySQL Connections", aby utworzyć nowe połączenie.
    • Wprowadź nazwę połączenia (np. "Local MySQL"). Hostname powinien być 127.0.0.1 lub localhost, port domyślnie 3306. Nazwa użytkownika to root, a hasło to to, które ustawiłeś podczas instalacji serwera MySQL.
    • Przetestuj połączenie ("Test Connection"). Jeśli jest udane, zapisz połączenie.
  4. Weryfikacja Rozszerzenia PDO MySQL w PHP:
    • Ponownie, na stronie phpinfo() (http://lekcja2-test.test), wyszukaj sekcję "pdo_mysql". Upewnij się, że jest włączona.
    • Jeśli nie, w preferencjach Herd (PHP Extensions) aktywuj rozszerzenie pdo_mysql dla Twojej wersji PHP 8.4. Może być konieczne ponowne uruchomienie usług Herd.

Po wykonaniu tych kroków, będziesz miał działający serwer MySQL/MariaDB oraz narzędzie MySQL Workbench do zarządzania bazami danych. Szczegóły dotyczące łączenia się z bazą i wykonywania zapytań omówimy w lekcji 28 i lekcji 29.

Edytor Kodu

Do pisania kodu PHP będziesz potrzebować dobrego edytora kodu. Oto kilka popularnych i darmowych opcji:

Istnieją również płatne, zintegrowane środowiska programistyczne (IDE) takie jak PhpStorm (jetbrains.com/phpstorm), które oferują jeszcze więcej zaawansowanych funkcji, ale na początek darmowy edytor jak VS Code w zupełności wystarczy.

Wybierz edytor, który najbardziej Ci odpowiada, zainstaluj go i zapoznaj się z jego podstawowymi funkcjami, takimi jak podświetlanie składni, autouzupełnianie kodu i zarządzanie plikami projektu.

Alternatywne Środowiska Deweloperskie

Chociaż Laravel Herd jest doskonałym wyborem, warto znać inne popularne rozwiązania do tworzenia lokalnych środowisk PHP:

Wybór narzędzia zależy od Twoich preferencji i potrzeb. Dla celów tego kursu, konfiguracja oparta na Laravel Herd (z osobną instalacją MySQL/MariaDB) jest zalecana ze względu na prostotę i nowoczesność.

Podsumowanie Lekcji

W tej lekcji przeszliśmy przez proces konfiguracji lokalnego środowiska deweloperskiego dla PHP 8.4, skupiając się na narzędziu Laravel Herd. Dowiedziałeś się, jak zainstalować Herd na macOS i Windows, jak zarządzać wersjami PHP, jak tworzyć i uruchamiać proste projekty oraz jak zweryfikować działanie PHP za pomocą funkcji phpinfo(). Omówiliśmy również instalację i konfigurację systemów baz danych SQLite i MySQL/MariaDB (z użyciem MySQL Workbench) oraz wybór edytora kodu. Na koniec wspomnieliśmy o alternatywnych podejściach do tworzenia środowisk deweloperskich.

Mając skonfigurowane środowisko deweloperskie, jesteś gotowy, aby zacząć pisać swój pierwszy prawdziwy kod PHP! W następnej lekcji przyjrzymy się bliżej podstawowej składni języka PHP, tagom PHP oraz sposobom dodawania komentarzy do kodu.


Zadanie praktyczne

Postępując zgodnie z instrukcjami z tej lekcji, wykonaj następujące kroki:

  1. Zainstaluj Laravel Herd na swoim komputerze.
  2. Zainstaluj PHP 8.4 (lub najnowszą dostępną wersję 8.x) za pomocą Herd.
  3. W swoim folderze projektów Herd (np. ~/Herd/kurs-php/) utwórz nowy folder o nazwie moj-pierwszy-projekt.
  4. Wewnątrz folderu moj-pierwszy-projekt utwórz plik index.php.
  5. W pliku index.php umieść kod, który wyświetli Twoje imię oraz aktualną datę i godzinę, używając funkcji PHP echo i date(). Dodatkowo, wywołaj funkcję phpinfo().
  6. Uruchom projekt w przeglądarce, wpisując odpowiedni adres (np. http://moj-pierwszy-projekt.test).
  7. Sprawdź, czy Twoje imię, data i godzina są poprawnie wyświetlane, oraz czy widzisz stronę z informacjami z phpinfo(). Zwróć uwagę na wersję PHP i załadowane rozszerzenia (np. pdo_sqlite, pdo_mysql).

Pokaż przykładowy kod dla pliku index.php
<?php

$imie = "Twoje Imię"; // Zastąp Twoim imieniem
echo "Witaj, " . $imie . "!<br>";
echo "Aktualna data i godzina: " . date("Y-m-d H:i:s") . "<br><br>";

phpinfo();

?>
            

Zadanie do samodzielnego wykonania

Jeśli jeszcze tego nie zrobiłeś, zainstaluj wybrany edytor kodu (np. VS Code). Zapoznaj się z jego interfejsem. Spróbuj otworzyć folder moj-pierwszy-projekt jako projekt w edytorze. Utwórz w nim nowy plik o nazwie info.txt i napisz w nim kilka zdań o tym, dlaczego chcesz nauczyć się PHP i jakie masz oczekiwania wobec tego kursu. Zapisz plik.


FAQ - Konfiguracja Środowiska Deweloperskiego PHP

Czy muszę używać Laravel Herd? Czy mogę skorzystać z XAMPP/MAMP?

Nie musisz używać Laravel Herd, chociaż jest ono zalecane w tym kursie ze względu na prostotę. Jeśli masz już zainstalowane i skonfigurowane inne środowisko deweloperskie, takie jak XAMPP, MAMP, WAMP, czy Docker, i czujesz się z nim komfortowo, możesz z niego korzystać. Upewnij się tylko, że masz zainstalowaną odpowiednią wersję PHP (najlepiej 8.x) i wiesz, jak uruchamiać swoje projekty.

Co zrobić, jeśli strona nazwa-projektu.test nie działa?

Upewnij się, że Laravel Herd jest uruchomiony. Sprawdź, czy folder projektu znajduje się w jednej ze ścieżek monitorowanych przez Herd (Preferencje -> Sites/Paths). Sprawdź logi Herd lub Nginx pod kątem błędów. Czasami może być konieczne ponowne uruchomienie Herd lub komputera. Upewnij się też, że żadne inne oprogramowanie nie blokuje portu 80 (HTTP) lub 443 (HTTPS).

Czy potrzebuję osobno instalować serwer WWW jak Apache czy Nginx, jeśli używam Herd?

Nie, Laravel Herd zawiera wbudowany i skonfigurowany serwer Nginx. Nie musisz instalować ani konfigurować Apache czy Nginx osobno, jeśli korzystasz z Herd. Herd zarządza serwerem Nginx za Ciebie.

Jak mogę zmienić wersję PHP dla konkretnego projektu w Herd?

W interfejsie Laravel Herd (zazwyczaj po kliknięciu na ikonę na pasku menu/w zasobniku) możesz zarządzać "Sites" (Stronami/Projektami). Dla każdej wykrytej strony/projektu powinna być możliwość wybrania konkretnej, zainstalowanej wersji PHP, która ma być dla niej używana, niezależnie od globalnie ustawionej wersji PHP.

Czy Laravel Herd działa na Linuksie?

Obecnie Laravel Herd jest oficjalnie dostępny tylko dla systemów macOS i Windows. Użytkownicy Linuksa zazwyczaj konfigurują swoje środowiska deweloperskie PHP ręcznie, instalując Apache/Nginx, PHP i bazę danych za pomocą menedżera pakietów swojej dystrybucji, lub korzystają z narzędzi takich jak Docker.

Czy muszę płacić za Laravel Herd lub MySQL Workbench?

Laravel Herd w wersji podstawowej jest darmowy i w pełni wystarczający dla tego kursu. Istnieje płatna wersja Herd Pro z dodatkowymi funkcjami. MySQL Workbench Community Edition jest również darmowy. Serwer MySQL Community Server także jest darmowy na licencji open-source.

Co to jest Composer i czy będziemy go używać?

Composer to narzędzie do zarządzania zależnościami w projektach PHP. Pozwala na łatwe deklarowanie i instalowanie bibliotek, z których korzysta Twój projekt. Tak, będziemy używać Composera w późniejszych częściach kursu, gdy zaczniemy pracować z bardziej złożonymi projektami lub zewnętrznymi bibliotekami.

Gdzie Laravel Herd przechowuje pliki konfiguracyjne PHP (php.ini)?

Lokalizacja pliku php.ini zarządzanego przez Herd może być łatwo znaleziona poprzez interfejs Herd. Zazwyczaj, klikając na ikonę Herd, wybierając aktywną wersję PHP, znajdziesz opcję otwarcia pliku php.ini lub folderu konfiguracyjnego. Możesz też sprawdzić ścieżkę do załadowanego pliku php.ini na stronie wygenerowanej przez phpinfo().