Instalacja PHP
Ostatnia modyfikacja: 07.10.2023
Aktualizacja wersji PHP
Poniższa lekcja napisana została na podstawie PHP w wersji 8.0. W tym momencie dostępna jest nowsza wersja, co możesz zweryfikować tutaj. Zalecam pracować zawsze na możliwie najnowszym stabilnym wydaniu. Sam proces instalacji nie powinien różnić się od opisanego.
Przejdźmy do czegoś jeszcze istotniejszego. Zainstalujmy interpreter PHP, potrzebny nam do nauki. W chwili pisania tych słów najnowszą wersją jest php 8.0. Sprawdzisz to zawsze na stronie pobierania, a tutaj zobaczysz do kiedy wspierane są konkretne wersje. Krótko mówiąc: kurs będzie prowadzony właśnie na najnowszym stabilnym wydaniu i w miarę możliwości aktualizowany, aby dostępna tu wiedza była zawsze zgodna ze stanem faktycznym.
A trochę rozwijając temat wersji, to tak naprawdę istotne „skoki” i większe różnice pojawiały się ostatnio (już nie sięgam do dawnej historii) pomiędzy wersją php 5.6 a php 7.0 oraz później między php 7.4 a php 8.0. Stanowczo odradzam używanie jakiejkolwiek wersji poniżej 7. Niestety wersja 5.6 jest jeszcze spotykana w różnych aplikacjach, którymi nikt się za bardzo nie zajmuje albo zmiana byłaby problematyczna, ale że tutaj przecież dopiero zaczynasz naukę, to nie byłoby sensu, aby bazować na starociu. Od php 7.0 do php 7.4 różnice między wydaniami nie są aż tak znaczące. Następny duży krok to właśnie nadejście PHP 8 i sporo nowości. W kursie będę starał się zaznaczać istotne miejsca, gdzie wersja będzie miała znaczenie, więc zwracaj też na to uwagę. Jeśli więc przykładowo z jakiegoś powodu zamiast php 8.0 użyjesz php 7.4, to nie powinno być dużych problemów, ale możliwe, że części kodu lub zadań nie będziesz mógł uruchomić.
Oprócz samego interpretera wygodnie byłoby mieć też jakiś serwer www. Oczywiście jak już wspominałem wcześniej, PHP może działać w samej konsoli i w początkowych lekcjach tylko ona nam wystarczy. Po instalacji PHP nawet mamy dostępny prosty wbudowany serwer. Jednak dla większej wygody pracy polecałbym Ci dodatkowo zainstalować serwer Apache lub Nginx (dwa prawdopodobnie najpopularniejsze serwery www) już na później. Baza MySQL będzie potrzebna gdzieś w dalszej części kursu, więc na razie nie będę o niej zbyt wiele mówił - jeśli również zainstalujesz to nic się nie stanie, ale na razie z niej nie skorzystamy.
Linux
W systemach Linux z rodziny Ubuntu/Debiana menadżerem pakietów jest APT i to przy jego pomocy instalujemy potrzebne oprogramowanie. W przypadku innych dystrybucji odszukaj właściwy sposób instalacji. Moglibyśmy zapewne zrobić to przez tryb graficzny, ale żeby było bardziej „profesjonalnie”, zrobimy to z poziomu terminala :)
Najprostsze co możemy zrobić, to zobaczyć szczegóły pakietu o nazwie po prostu php
:
I czeka nas niezbyt miła niespodzianka… Widzimy, że w zasadzie jest to pakiet php7.4, czyli - jak nietrudno się domyślić - jest to pakiet w wersji 7.4, a przecież my widzieliśmy dostępne i chcieliśmy php 8.0! Możemy jeszcze spróbować apt show php8.0
, ale dostaniemy komunikat o braku takiego pakietu. Cóż, tak to bywa, że dość często pakiety z oficjalnych repozytoriów nie są najbardziej aktualne. Moglibyśmy teraz ręcznie pobrać i zbudować sobie odpowiednią wersję PHP ze źródeł, ale to nie jest zbyt wygodne.
Aby sobie z tym łatwo poradzić, dodamy osobiste repozytorium pakietów (PPA). Dość znane i często aktualizowane jest: ppa:ondrej/php
. Dodajmy więc je do systemu (add-apt-repository
z potwierdzeniem klawiszem Enter) i zaktualizujmy listę pakietów (apt update
). Te operacje trzeba wykonać z uprawnieniami roota (na Linuxie jest to konto z pełnymi uprawnieniami, administrator), co przeważnie najprościej uzyskać dodając sudo
przed poleceniem (przeważnie, bo konto musi mieć do tego uprawnienia). Przy jego użyciu zostaniemy co jakiś czas zapytani o hasło, które należy wpisać i potwierdzić Enterem.
Sprawdźmy ponownie i powinniśmy mieć już dostępny pakiet php8.0
:
Zainstalujmy przy użyciu apt install
, zatwierdzając pytanie klawiszem Enter.
Mamy wreszcie wszystko tak jak chcieliśmy! Informacje na temat zainstalowanej wersji sprawdzimy poleceniem php -v
.
Oprócz tego wspominałem o serwerze www. Jeśli uważnie czytałeś komunikaty (a mam nadzieję, że tak), to wraz z instalacją PHP zainstalował się pakiet apache2
- jeden z popularniejszych serwerów. Praktycznie więc wszystko już powinno działać, w tym Apache z domyślnymi ustawieniami. Spróbuj wejść pod adres http://localhost (inaczej 127.0.0.1, odpytanie własnego komputera), gdzie powinieneś ujrzeć domyślną stronę powitalną.
Alternatywnie możemy wybrać inny serwer, na przykład Nginx. Wypadałoby tylko pamiętać o tym, że obydwa nie ruszą na raz, a już na pewno nie z domyślnymi ustawieniami portów. Trzeba więc mieć na uwadze, aby wyłączyć lub odinstalować Apache i dopiero instalować coś innego, albo odpowiednio zmienić konfigurację. Na ten moment nie chcę zbyt wiele komplikować, dlatego zostawimy Apache.
Windows
A co z Windowsem? Możesz ręcznie pobierać i instalować wszystko osobno lub pobrać jakąś gotową paczkę jak XAMPP. Jego instalacja jest prosta, standardowo pobieramy i przechodzimy kolejne kroki. Jak już wspomniałem, w tym kursie będę starał się zawsze bazować na najnowszej możliwej wersji PHP, stąd w tym momencie polecam wybrać ostatnią paczkę z php 8.0.
Jedyne nad czym można na moment się zatrzymać to lista rzeczy do zainstalowania. Jeśli zainstalujesz wszystko to oczywiście nic złego się nie stanie, ale takie moim zdaniem minimum widzisz na screenie poniżej. Baza danych MySQL przyda nam się później, podobnie phpMyAdmin, które jest graficznym narzędziem ułatwiającym zarządzanie i pracę z nią (rzecz jasna nie jest konieczne, baza sama w sobie działa bez niego). W wersji bardzo minimalnej możesz na ten moment zainstalować tylko Apache i PHP.
Po zainstalowaniu i uruchomieniu programu powinieneś zobaczyć jego panel kontrolny. Jedyne co należy zrobić, aby uruchomić serwer www z PHP, to kliknąć przycisk „Start” przy Apache. Podobnie można uruchomić także bazę MySQL, czy inne programy, jeśli zainstalowałeś, ale na razie nie będą nam one potrzebne, więc tego nie zrobiłem. Gdy usługa wystartuje, jej nazwa powinna zapalić się na zielono, a obok pojawić się numery portów i identyfikatory procesów. Przetestować działanie możemy wejściem na adres http://localhost - powinniśmy zobaczyć stronę powitalną XAMPPa.
Powszechny problem
Jeśli u Ciebie uruchomienie nie powiedzie się (zobaczysz błędy koloru czerwonego) może to oznaczać, że masz zajęte domyślne porty, na których działa serwer www (port 80 i 443). Takie porty może blokować wiele usług, w tym przykładowo Skype. W takim przypadku należy znaleźć aplikację zajmującą port i ją wyłączyć lub zmienić porty, na których działać ma serwer. Przeczytaj więcej o problemie na: Forum Pasja informatyki, Stack Overflow.
XAMPP na Linuxie?
Jeśli zerknąłeś na stronę XAMPPa lub innego pakietu tego typu być może znalazłeś również jego wersję na Linuxa i ta sprawa zaprząta Ci głowę. Wyjaśnię więc od razu, że moim zdaniem instalacja takiego gotowego programu nie ma sensu. W systemie Linux wystarczy nam praktycznie jedno polecenie (nie wliczając dodawania PPA), aby zainstalować sobie to, czego potrzebujemy i w jakich wersjach chcemy. Nie rozumiem więc, jaki sens miałoby pobieranie wszystkiego razem w takim pakiecie.
Ciekawostka
Być może zastanawia Cię to, że musisz u siebie na komputerze instalować różne programy, aby móc cokolwiek zacząć. Samo IDE/edytor raczej nie dziwi, ale to jeszcze interpreter PHP, to serwer, baza… Może dałoby się tego uniknąć? Oczywiście, jednak nie jest to temat na początek kursu. Jeśli masz już jakąś wiedzę lub po prostu masz ochotę na ciekawostkę, to zapoznaj się z technologiami jak Docker czy Vagrant. Pierwsza z nich tworzy wirtualne kontenery z obrazów (i jest coraz częściej używana ostatnio), druga opiera się na wirtualnych maszynach. Obydwie prowadzą do tego, że finalnie mamy przygotowaną konfigurację, a następnie jednym poleceniem następuje przygotowanie całego środowiska wraz z oprogramowaniem. Być może wrócimy do tego zagadnienia gdzieś w bardziej zaawansowanym etapie kursu, na razie też nie chciałbym zbytnio rozwijać tematów pobocznych.
Jeszcze inną opcją na rozwiązanie opisanej powyżej niedogodności jest „wrzucanie” wszystkiego na bieżąco na hosting lub inny serwer, na którym już zainstalowane jest PHP i potrzebne do działania rzeczy. Jednak to nie jest wygodne. W mojej ocenie na hostingu powinieneś publikować dopiero gotową stronę/skrypt. Można co prawda ustawić w kliencie FTP/SFTP (w skrócie mówiąc: program do przesyłania plików na serwer) automatyczną ciągłą synchronizację plików. Jak wspominałem, nie uważam tego rozwiązania za wygodne i nie polecam na co dzień pracy w taki sposób. Więcej o wyborze hostingu i ogólnie publikowaniu strony w sieci również postaram się napisać w dalszych rozdziałach.
Komentarze