Jak zainstalować i używać PHP na Ubuntu: Kompletny przewodnik dla początkujących na 2025 rok

目次

1. Wstęp

Dlaczego używać PHP na Ubuntu?

PHP jest językiem skryptowym po stronie serwera, szeroko stosowanym w wielu aplikacjach internetowych, w tym w WordPressie. Od wielu lat jest standardem w tworzeniu stron internetowych, napędzając liczne systemy CMS i frameworki.

Ubuntu to bardzo stabilna dystrybucja Linuksa, ceniona przez programistów na całym świecie i szczególnie dobrze nadająca się do zastosowań serwerowych. Połączenie Ubuntu i PHP jest powszechnie wykorzystywane – od projektów osobistych po środowiska produkcyjne w przedsiębiorstwach.

Dla kogo jest ten artykuł i jaki jest jego cel

Poradnik jest przeznaczony dla wszystkich – od początkujących, którzy chcą zainstalować PHP na Ubuntu, ale nie wiedzą od czego zacząć, po średniozaawansowanych użytkowników, którzy chcą zainstalować konkretną wersję PHP. Dostarczamy jasne, krok po kroku instrukcje.

Używamy Ubuntu 22.04 LTS jako przykładowego środowiska, ale kroki są w dużej mierze podobne dla innych wersji.

Czego się nauczysz w tym artykule

Po przeczytaniu tego przewodnika będziesz w stanie zrozumieć i wykonać następujące zadania:

  • Podstawowe metody instalacji PHP na Ubuntu
  • Jak zainstalować i przełączać się między wieloma wersjami PHP
  • Jak zweryfikować działanie PHP i rozwiązywać problemy
  • Jak skonfigurować integrację z Apache lub Nginx
  • Jak zainstalować najczęściej używane moduły PHP

2. Wymagania wstępne i przygotowanie

Jak sprawdzić wersję Ubuntu

Najpierw sprawdź, której wersji Ubuntu używasz. Kroki instalacji i dostępne moduły PHP mogą nieco się różnić w zależności od wersji systemu.

Możesz sprawdzić wersję Ubuntu, wykonując następujące polecenie:

lsb_release -a

Alternatywnie możesz użyć tego polecenia:

cat /etc/os-release

Artykuł opiera się na Ubuntu 22.04 LTS, ale podstawowa procedura ma zastosowanie także do wersji 20.04 i 23.10.

Utrzymuj pakiety systemowe aktualne

Przed instalacją PHP konieczne jest zaktualizowanie pakietów systemowych do najnowszych wersji. Dzięki temu unikniesz problemów z zależnościami lub niezgodnościami. Zaktualizuj system, wykonując poniższe polecenia:

sudo apt update
sudo apt upgrade -y

To odświeża indeks pakietów APT, zapewniając, że instalujesz najnowsze pakiety.

Zainstaluj wymagane narzędzia

Podczas instalacji niektórych wersji PHP będziesz potrzebował pakietu software-properties-common, który umożliwia dodawanie repozytoriów i zarządzanie pakietami. Jeśli nie jest jeszcze zainstalowany, zrób to poleceniem:

sudo apt install -y software-properties-common

Pakiet ten jest potrzebny do poleceń takich jak add-apt-repository, szczególnie przy używaniu PPA (Personal Package Archive) do instalacji konkretnych wersji PHP.

Używanie uprawnień roota lub sudo

Większość kroków w tym artykule wymaga zmian w systemie, więc będziesz musiał używać sudo przy swoich poleceniach. Jeśli nie znasz go dobrze, zapoznaj się z podstawami polecenia sudo przed kontynuacją.

3. Jak zainstalować PHP

Istnieją dwa główne sposoby instalacji PHP na Ubuntu: z domyślnego repozytorium lub poprzez określenie wersji w PPA (Personal Package Archive). Omówimy oba podejścia.

Instalacja PHP z domyślnego repozytorium

Domyślne repozytorium Ubuntu dostarcza stabilne wersje PHP. Jeśli nie potrzebujesz konkretnej wersji, po prostu uruchom:

sudo apt install -y php

Po instalacji sprawdź, czy PHP został poprawnie zainstalowany:

php -v

Przykład:

PHP 8.1.2 (cli) (built: ...)

W Ubuntu 22.04 domyślnie dostępna jest PHP 8.1.

Instalacja konkretnej wersji przy użyciu PPA

Jeśli chcesz najnowszą wersję PHP lub potrzebujesz kilku wersji jednocześnie, możesz dodać zaufane PPA ondrej/php i określić wersję, którą chcesz zainstalować.

Krok 1: Dodaj repozytorium PPA

sudo add-apt-repository ppa:ondrej/php
sudo apt update

To repozytorium jest szeroko używane w społeczności Ubuntu i oferuje stabilne kompilacje wszystkich głównych wersji PHP.

Krok 2: Zainstaluj wybraną wersję PHP

Na przykład, aby zainstalować PHP 8.2:

sudo apt install -y php8.2

Możesz również zainstalować inne wersje, takie jak PHP 7.4 czy 8.0, w ten sam sposób.

Krok 3: Sprawdź zainstalowaną wersję

php -v

Jeśli konkretna wersja została pomyślnie zainstalowana, zostanie tutaj wyświetlona.

4. Weryfikacja instalacji PHP

Po zainstalowaniu PHP sprawdź, czy działa. W Ubuntu możesz to zweryfikować za pomocą wiersza poleceń (CLI) oraz przez serwer WWW (Apache lub Nginx). Oto jak:

Sprawdzanie za pomocą wiersza poleceń (CLI)

Wyświetl wersję PHP w terminalu, aby potwierdzić, że PHP działa:

php -v

Jeśli widzisz wersję PHP i informacje o kompilacji, PHP działa w CLI.

Przykładowy wynik:

PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies

Sprawdzanie za pomocą serwera WWW (Przykład Apache)

Jeśli używasz Apache, utwórz stronę testową z funkcją phpinfo(), aby zweryfikować, czy PHP działa z Apache.

1. Utwórz plik testowy

Utwórz plik PHP w katalogu WWW Apache (zazwyczaj /var/www/html) z:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Sprawdź w przeglądarce

Uzyskaj dostęp do pliku w przeglądarce. Na lokalnym komputerze odwiedź:

http://localhost/info.php

3. Przejrzyj wynik

Jeśli widzisz szczegółowe informacje o PHP, PHP działa przez Apache.

🔍 Wskazówka: Ponieważ phpinfo() może wyświetlać wrażliwe informacje, usuń plik info.php po sprawdzeniu.

sudo rm /var/www/html/info.php

Sprawdzanie z Nginx + PHP-FPM

Jeśli używasz Nginx, PHP działa przez php-fpm. Upewnij się, że Nginx jest skonfigurowany do obsługi plików .php, następnie utwórz info.php jak powyżej. Jeśli widzisz błąd 500 lub monit do pobrania, sprawdź ustawienia Nginx, zwłaszcza fastcgi_pass i include fastcgi-php.conf;.

5. Instalowanie powszechnie używanych modułów PHP

Podstawowa instalacja PHP nie obejmuje wszystkich funkcji. Wiele z nich jest dostarczanych jako moduły (rozszerzenia), które muszą być zainstalowane w razie potrzeby. Tutaj wprowadzamy niezbędne moduły PHP do rozwoju i produkcji.

Czym są moduły PHP?

Moduły PHP (lub rozszerzenia) dodają funkcje takie jak połączenie z bazą danych, przetwarzanie ciągów multibajtowych, manipulacja obrazami lub obsługa XML.

Moduły są dostępne jako pakiety APT i można je instalować w ten sposób:

sudo apt install php-[module-name]

Aby określić wersję, użyj czegoś jak php8.2-mbstring.

Kluczowe moduły PHP i ich zastosowania

php-mbstring (Obsługa ciągów multibajtowych)

Wymagany do obsługi znaków multibajtowych, takich jak japońskie. Niezbędny dla japońskich witryn lub przetwarzania e-maili.

sudo apt install php-mbstring

php-mysql (Połączenie z MySQL/MariaDB)

Potrzebny do połączenia z bazami danych MySQL lub MariaDB. Wymagany dla aplikacji takich jak WordPress, które używają bazy danych.

sudo apt install php-mysql

php-gd (Przetwarzanie obrazów)

Obsługuje tworzenie, konwersję i zmianę rozmiaru obrazów; używany do generowania zrzutów ekranu lub miniaturek.

sudo apt install php-gd

php-xml (Przetwarzanie XML)

Wymagany do obsługi danych opartych na XML, takich jak kanały RSS lub SOAP. Używany w CMS i do integracji API.

sudo apt install php-xml

php-curl (Komunikacja HTTP)

Używany do wysyłania żądań HTTP, np. podczas integracji z zewnętrznymi API. Szeroko używany przez nowoczesne frameworki.

sudo apt install php-curl

php-zip (Obsługa plików ZIP)

Obsługuje kompresję i dekompresję plików ZIP; przydatny dla funkcji przesyłania plików.

sudo apt install php-zip

Włączanie modułów i restartowanie usług

Niektóre moduły wymagają jawnego włączenia po instalacji. Użyj phpenmod w następujący sposób:

sudo phpenmod [module-name]
sudo systemctl restart apache2

Zmiany wchodzą w życie po restarcie serwera WWW.

6. Zarządzanie i przełączanie wersji PHP

Ubuntu pozwala na instalację i używanie wielu wersji PHP na jednym serwerze. Jest to przydatne podczas hostowania wielu aplikacji lub rozwijania w różnych środowiskach. Oto jak przełączać wersje w CLI i z Apache.

Przełączanie wersji PHP w CLI

Polecenie: update-alternatives

Użyj update-alternatives, aby łatwo przełączać wersję PHP używaną w CLI.

Krok 1: Wyświetl zainstalowane wersje PHP

ls /usr/bin/php*

Krok 2: Zarejestruj wersje PHP za pomocą update-alternatives (tylko przy pierwszym użyciu)

sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82

Krok 3: Wybierz wersję do użycia

sudo update-alternatives --config php

To wyświetla ekran wyboru, podobny do:

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.2   82        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Wpisz numer wybranej wersji i naciśnij Enter.

Krok 4: Potwierdź wersję

php -v

Przełączanie wersji PHP w Apache

W Apache możesz włączać lub wyłączać moduły PHP w zależności od wersji. Oto jak wybrać preferowaną wersję:

1. Wyświetl dostępne moduły

ls /etc/apache2/mods-available | grep php

2. Wyłącz bieżący moduł

sudo a2dismod php7.4

3. Włącz wybraną wersję

sudo a2enmod php8.2

4. Zrestartuj Apache

sudo systemctl restart apache2

To zastosuje zmiany zarówno w interfejsie wiersza poleceń, jak i w Apache.

7. Konfiguracja integracji z Apache i Nginx

PHP staje się naprawdę potężny po integracji z serwerem WWW. Na Ubuntu zazwyczaj używa się Apache lub Nginx. Oto jak połączyć PHP z oboma.

Konfiguracja Apache (mod_php)

W Apache moduł mod_php umożliwia bezpośrednie uruchamianie skryptów PHP. Jest łatwy w konfiguracji, co czyni go dobrym wyborem dla WordPressa i innych systemów CMS.

Krok 1: Zainstaluj Apache i mod_php

sudo apt install -y apache2 libapache2-mod-php

Po zainstalowaniu libapache2-mod-php Apache może przetwarzać pliki PHP.

Krok 2: Zrestartuj Apache

sudo systemctl restart apache2

Krok 3: Przetestuj przy pomocy pliku PHP

Utwórz plik test.php w katalogu /var/www/html i otwórz go w przeglądarce:

<?php
phpinfo();
?>

Przykładowy URL:

http://localhost/test.php

Konfiguracja Nginx (PHP-FPM)

Nginx jest lekki i szybki, ale nie może przetwarzać PHP bezpośrednio. Do obsługi PHP użyjesz PHP-FPM (FastCGI Process Manager).

Krok 1: Zainstaluj Nginx i PHP-FPM

sudo apt install -y nginx php-fpm

Krok 2: Edytuj plik konfiguracyjny Nginx

Edytuj /etc/nginx/sites-available/default (lub konfigurację wirtualnego hosta):

sudo nano /etc/nginx/sites-available/default

Dodaj lub zaktualizuj ten blok:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Krok 3: Zrestartuj Nginx

sudo systemctl restart nginx

Krok 4: Przetestuj przy pomocy pliku PHP

Utwórz /var/www/html/test.php i otwórz go w przeglądarce, tak jak w przypadku Apache.

Uwaga: Ustawienia zapory (jeśli potrzebne)

Jeśli używasz UFW (Uncomplicated Firewall), zezwól na dostęp za pomocą:

sudo ufw allow 'Apache Full'
# or
sudo ufw allow 'Nginx Full'

Apache jest łatwy w konfiguracji, natomiast Nginx zapewnia wysoką wydajność. Wybierz rozwiązanie najlepiej dopasowane i upewnij się, że integracja PHP jest poprawnie skonfigurowana.

8. Rozwiązywanie problemów

Czasami PHP może nie działać zgodnie z oczekiwaniami, nawet po instalacji i integracji z serwerem. Ta sekcja opisuje typowe problemy, ich przyczyny i rozwiązania.

PHP nie działa (kod źródłowy wyświetlany w przeglądarce)

Przyczyna

Dzieje się tak, gdy Apache lub Nginx wyświetla plik PHP jako zwykły tekst zamiast go przetworzyć. Moduł PHP lub ustawienia FastCGI mogą nie być poprawnie skonfigurowane.

Rozwiązanie

  • Dla Apache: Sprawdź, czy libapache2-mod-php jest zainstalowany i włączony, a następnie zrestartuj Apache.
    sudo apt install libapache2-mod-php
    sudo systemctl restart apache2
    
  • Dla Nginx: Sprawdź, czy php-fpm jest zainstalowany i czy konfiguracja Nginx ma poprawny fastcgi_pass oraz ustawienia.
    sudo systemctl restart php8.2-fpm
    sudo systemctl restart nginx
    

Niektóre funkcje PHP nie działają (niezdefiniowane funkcje)

Przyczyna

Zwykle jest to spowodowane brakiem zainstalowanego lub włączonego wymaganego modułu PHP.

Rozwiązanie

  • Zainstaluj potrzebne moduły, takie jak mbstring, xml lub curl :
    sudo apt install php-mbstring php-xml php-curl
    
  • Po włączeniu modułu, zrestartuj serwer WWW.
    sudo systemctl restart apache2  # or nginx
    
  • Sprawdź włączone moduły za pomocą:
    php -m
    

Błędy PHP nie są wyświetlane

Przyczyna

Domyślnie komunikaty o błędach PHP mogą być wyłączone.

Rozwiązanie

Edytuj php.ini i zmień ustawienia wyświetlania błędów:

sudo nano /etc/php/8.2/apache2/php.ini

Znajdź i ustaw następujące:

display_errors = On
error_reporting = E_ALL

Następnie zrestartuj serwer WWW:

sudo systemctl restart apache2

Jak sprawdzić logi błędów

Dla Apache:

/var/log/apache2/error.log

Dla Nginx:

/var/log/nginx/error.log

Dla PHP‑FPM (z Nginx):

/var/log/php8.2-fpm.log

Sprawdź te logi w celu rozwiązywania problemów:

sudo tail -f /var/log/apache2/error.log

Gdy wystąpią błędy, pamiętaj: Sprawdź logi → Przejrzyj konfigurację → Zrestartuj serwer. Zachowaj spokój i rozwiązuj problemy krok po kroku.

9. Zakończenie

Ten artykuł wyjaśnił — od podstaw po zaawansowane kroki — jak zainstalować PHP na Ubuntu. Oto najważniejsze punkty i kolejne kroki do dalszej eksploracji.

Podsumowanie kluczowych punktów

  • Sprawdź wersję Ubuntu i przygotuj się Sprawdzenie wersji systemu operacyjnego oraz aktualizacja pakietów jest kluczowa dla płynnej instalacji PHP.
  • Dwa sposoby instalacji PHP Zainstaluj łatwo z domyślnego repozytorium lub użyj PPA dla konkretnych wersji.
  • Zweryfikuj po instalacji Użyj php -v i phpinfo(), aby sprawdzić PHP w kontekście CLI i w przeglądarce.
  • Rozszerz funkcjonalność za pomocą modułów Zainstaluj powszechnie używane moduły, takie jak php-mbstring i php-mysql, w razie potrzeby.
  • Przełączaj się między wieloma wersjami Łatwo zarządzaj wersjami przy pomocy update-alternatives lub przełączania modułów Apache.
  • Poprawna integracja z Apache/Nginx Odpowiednia konfiguracja z wybranym serwerem WWW zapewnia stabilne działanie.
  • Sprawdzaj logi w celu rozwiązywania problemów Jeśli PHP nie wyświetla się lub nie działa poprawnie, przeglądanie logów błędów jest najskuteczniejszym pierwszym krokiem.

Kolejne kroki do nauki

Po zainstalowaniu PHP na Ubuntu możesz zagłębić się w następujące tematy:

  • Instalacja MySQL (MariaDB) i łączenie baz danych
  • Instalacja i konfiguracja WordPressa
  • Używanie frameworków PHP, takich jak Laravel
  • Włączanie HTTPS (konfiguracja certyfikatów SSL przy użyciu Let’s Encrypt)
  • Zarządzanie automatycznym uruchamianiem i restartami (przy użyciu systemd)

Z ich pomocą możesz tworzyć jeszcze bardziej zaawansowane usługi i aplikacje webowe. Ubuntu i PHP razem oferują solidne, elastyczne środowisko rozwoju open‑source. Użyj tego artykułu jako podstawy do kolejnych projektów!

10. Najczęściej zadawane pytania (FAQ)

To FAQ obejmuje typowe problemy i pytania, które użytkownicy często wyszukują przy instalacji lub konfiguracji PHP na Ubuntu. Odpowiedzi są proste i praktyczne, nawet dla początkujących.

P1. Jak zainstalować najnowszą wersję PHP na Ubuntu?

A1.
Najnowsza wersja PHP nie zawsze znajduje się w domyślnym repozytorium Ubuntu. Dodaj zaufane PPA ondrej/php, a następnie zainstaluj wybraną wersję.

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2

P2. Jak mogę przełączać wersje PHP w wierszu poleceń (CLI)?

A2.
Jeśli masz zainstalowane wiele wersji, użyj update-alternatives, aby przełączać się między nimi.

sudo update-alternatives --config php

Podaj numer wybranej wersji z wyświetlonej listy.

P3. Apache wyświetla mój plik PHP jako zwykły tekst zamiast go wykonać.

A3.
Oznacza to, że Apache nie przetwarza PHP — wyświetla je jako zwykły tekst. Sprawdź, czy moduł libapache2-mod-php jest włączony i zrestartuj Apache:

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Q4. Gdzie znajduje się plik konfiguracyjny PHP (php.ini)?

A4.
Do CLI i serwera WWW istnie oddzielne pliki. Typowe lokalizacje to:

  • Dla Apache: /etc/php/8.2/apache2/php.ini
  • Dla CLI: /etc/php/8.2/cli/php.ini

Część „8.2” zmienia się w zależności od wersji PHP.

Q5. Jak włączyć rozszerzenie PHP?

A5.
Po instalacji włącz moduł za pomocą phpenmod:

sudo phpenmod mbstring
sudo systemctl restart apache2

Zrestartuj serwer WWW po włączeniu.

Q6. PHP nie działa prawidłowo z Nginx. Co powinienem sprawdzić?

A6.
Nginx wymaga php-fpm do przetwarzania PHP. Upewnij się, że w konfiguracji znajduje się prawidłowy wpis fastcgi_pass:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Dostosuj część .sock do wersji PHP.

Q7. Błędy PHP nie są wyświetlane na ekranie.

A7.
W pliku php.ini opcja display_errors może być ustawiona na Off. Dla celów deweloperskich możesz ją włączyć w następujący sposób:

display_errors = On
error_reporting = E_ALL

Zrestartuj serwer WWW po wprowadzeniu zmian.

Te FAQ pomogą Ci uniknąć typowych pułapek przy używaniu PHP na Ubuntu. Zachowaj tę wiedzę pod ręką, aby ułatwić rozwiązywanie problemów!

年収訴求