Jak nainstalovat a používat PHP na Ubuntu: Kompletní průvodce pro začátečníky v roce 2025

目次

1. Úvod

Proč používat PHP na Ubuntu?

PHP je server‑side skriptovací jazyk široce využívaný v mnoha webových aplikacích, včetně WordPressu. Po mnoho let je standardem ve webovém vývoji a pohání řadu CMS a frameworků.

Ubuntu je vysoce stabilní distribuce Linuxu, kterou upřednostňují vývojáři po celém světě, a je obzvláště vhodná pro serverové nasazení. Kombinace Ubuntu a PHP je široce rozšířená – od osobních projektů po podnikovou produkci.

Pro koho je tento článek určen a jaký má cíl

Tento průvodce je určen všem – od začátečníků, kteří chtějí nainstalovat PHP na Ubuntu, ale neví, kde začít, až po pokročilejší uživatele, kteří chtějí nainstalovat konkrétní verzi PHP. Poskytujeme jasné, krok‑za‑krokem instrukce.

Jako ukázkové prostředí používáme Ubuntu 22.04 LTS, ale kroky jsou obecně podobné i pro jiné verze.

Co se v tomto článku naučíte

Po přečtení tohoto průvodce budete schopni pochopit a provést následující úkoly:

  • Základní metody instalace PHP na Ubuntu
  • Jak nainstalovat a přepínat mezi více verzemi PHP
  • Jak ověřit, že PHP funguje, a řešit případné problémy
  • Jak nakonfigurovat integraci s Apache nebo Nginx
  • Jak nainstalovat běžně používané PHP moduly

2. Předpoklady a příprava

Jak zjistit verzi Ubuntu

Nejprve zjistěte, kterou verzi Ubuntu používáte. Instalace a dostupné PHP moduly se mohou mírně lišit podle verze Ubuntu.

Verzi Ubuntu zjistíte pomocí tohoto příkazu:

lsb_release -a

Případně můžete použít následující příkaz:

cat /etc/os-release

Tento článek vychází z Ubuntu 22.04 LTS, ale základní postup platí i pro 20.04 a 23.10.

Udržujte systémové balíčky aktuální

Před instalací PHP je nutné aktualizovat systémové balíčky na nejnovější verze. Tím se předejde problémům se závislostmi nebo nekonzistencím. Aktualizaci proveďte následujícími příkazy:

sudo apt update
sudo apt upgrade -y

Tím se obnoví index balíčků APT a zajistí, že instalujete nejnovější balíčky.

Instalace potřebných nástrojů

Při instalaci některých verzí PHP budete potřebovat balíček software-properties-common, který umožňuje přidávat repozitáře a spravovat balíčky. Pokud ještě není nainstalován, udělejte tak pomocí:

sudo apt install -y software-properties-common

Tento balíček je potřeba pro příkazy jako add-apt-repository, zejména při použití PPA (Personal Package Archive) pro instalaci konkrétních verzí PHP.

Používání oprávnění root nebo sudo

Většina kroků v tomto článku mění systémové nastavení, proto budete muset používat sudo u svých příkazů. Pokud nejste s tímto nástrojem obeznámeni, prostudujte si základy příkazu sudo před pokračováním.

3. Jak nainstalovat PHP

Existují dva hlavní způsoby instalace PHP na Ubuntu: pomocí výchozího repozáře nebo specifikací verze přes PPA (Personal Package Archive). Provedeme oba postupy.

Instalace PHP z výchozího repozitáře

Výchozí repozitář Ubuntu poskytuje stabilní verze PHP. Pokud nepotřebujete konkrétní verzi, stačí spustit:

sudo apt install -y php

Po instalaci ověřte, že je PHP nainstalováno správně:

php -v

Příklad:

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

Na Ubuntu 22.04 je ve výchozím nastavení k dispozici PHP 8.1.

Instalace konkrétní verze pomocí PPA

Pokud chcete nejnovější PHP nebo potřebujete používat více verzí, můžete přidat důvěryhodné PPA ondrej/php a specifikovat požadovanou verzi.

Krok 1: Přidání PPA repozitáře

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

Tento repozitář je v Ubuntu komunitě široce používán a nabízí stabilní sestavení pro všechny hlavní verze PHP.

Krok 2: Instalace požadované verze PHP

Například pro instalaci PHP 8.2:

sudo apt install -y php8.2

Stejným způsobem můžete nainstalovat i jiné verze, jako PHP 7.4 nebo 8.0.

Krok 3: Ověření nainstalované verze

php -v

Pokud byla konkrétní verze úspěšně nainstalována, bude zde zobrazena.

4. Ověření instalace PHP

Jakmile je PHP nainstalováno, zkontrolujte, že funguje. V Ubuntu můžete ověřit pomocí příkazové řádky (CLI) i přes váš webový server (Apache nebo Nginx). Zde je postup:

Kontrola pomocí příkazové řádky (CLI)

Zobrazte verzi PHP v terminálu, abyste potvrdili, že PHP funguje:

php -v

Pokud vidíte verzi PHP a informace o sestavení, PHP funguje v CLI.

Ukázkový výstup:

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

Kontrola přes webový server (příklad Apache)

Pokud používáte Apache, vytvořte testovací stránku s funkcí phpinfo(), abyste ověřili, že PHP funguje s Apache.

1. Vytvořte testovací soubor

Vytvořte PHP soubor ve vašem Apache webovém adresáři (obvykle /var/www/html) s:

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

2. Zkontrolujte v prohlížeči

Otevřete soubor ve vašem prohlížeči. Na lokálním počítači navštivte:

http://localhost/info.php

3. Prohlédněte výstup

Pokud vidíte podrobné informace o PHP, PHP funguje přes Apache.

🔍 Tip: Protože phpinfo() může zobrazovat citlivé informace, po kontrole odstraňte soubor info.php.

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

Kontrola s Nginx + PHP-FPM

Pokud používáte Nginx, PHP běží přes php-fpm. Ujistěte se, že je Nginx nastavený pro zpracování souborů .php, a poté vytvořte info.php jako výše. Pokud se zobrazí chyba 500 nebo výzva ke stažení, zkontrolujte nastavení Nginx, zejména fastcgi_pass a include fastcgi-php.conf;.

5. Instalace běžně používaných PHP modulů

Základní instalace PHP neobsahuje všechny funkce. Mnoho z nich je k dispozici jako moduly (rozšíření), které je třeba instalovat podle potřeby. Zde představujeme základní PHP moduly pro vývoj a produkci.

Co jsou PHP moduly?

PHP moduly (nebo rozšíření) přidávají funkce jako připojení k databázi, zpracování multibyte řetězců, manipulaci s obrázky nebo práci s XML.

Moduly jsou dostupné jako APT balíčky a lze je nainstalovat takto:

sudo apt install php-[module-name]

Pro specifikaci verze použijte například php8.2-mbstring.

Klíčové PHP moduly a jejich využití

php-mbstring (Podpora multibyte řetězců)

Vyžadováno pro zpracování multibyte znaků, jako je japonština. Nezbytné pro japonské stránky nebo zpracování e‑mailů.

sudo apt install php-mbstring

php-mysql (Připojení k MySQL/MariaDB)

Potřebné pro připojení k databázím MySQL nebo MariaDB. Vyžadováno pro aplikace jako WordPress, které používají databázi.

sudo apt install php-mysql

php-gd (Zpracování obrázků)

Zajišťuje vytváření, konverzi a změnu velikosti obrázků; používá se pro generování snímků obrazovky nebo miniatur.

sudo apt install php-gd

php-xml (Zpracování XML)

Vyžadováno pro práci s XML daty, jako jsou RSS kanály nebo SOAP. Používá se v CMS a pro integraci API.

sudo apt install php-xml

php-curl (HTTP komunikace)

Používá se pro odesílání HTTP požadavků, například při integraci s externími API. Široce využíváno moderními frameworky.

sudo apt install php-curl

php-zip (Práce se ZIP soubory)

Zajišťuje kompresi a rozbalování ZIP souborů; užitečné pro funkce nahrávání souborů.

sudo apt install php-zip

Aktivace modulů a restartování služeb

Některé moduly vyžadují po instalaci explicitní povolení. Použijte phpenmod následovně:

sudo phpenmod [module-name]
sudo systemctl restart apache2

Změny se projeví po restartování vašeho webového serveru.

6. Správa a přepínání verzí PHP

Ubuntu vám umožňuje instalovat a používat více verzí PHP na jednom serveru. To je užitečné při hostování více aplikací nebo vývoji v různých prostředích. Zde je návod, jak přepínat verze v CLI i s Apache.

Přepínání verzí PHP v CLI

Příkaz: update-alternatives

Použijte update-alternatives pro snadné přepínání verze PHP používané v CLI.

Krok 1: Zobrazit nainstalované verze PHP

ls /usr/bin/php*

Krok 2: Zaregistrovat verze PHP pomocí update-alternatives (pouze při první instalaci)

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: Vybrat verzi k použití

sudo update-alternatives --config php

Zobrazí se výběrová obrazovka jako:

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:

Zadejte číslo požadované verze a stiskněte Enter.

Krok 4: Potvrdit verzi

php -v

Přepínání verzí PHP v Apache

V Apache můžete povolit nebo zakázat PHP moduly podle verze. Zde je postup, jak vybrat preferovanou verzi:

1. Vypsat dostupné moduly

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

2. Zakázat aktuální modul

sudo a2dismod php7.4

3. Povolit požadovanou verzi

sudo a2enmod php8.2

4. Restartovat Apache

sudo systemctl restart apache2

Tím se změny projeví jak v CLI, tak v Apache.

7. Konfigurace integrace s Apache a Nginx

PHP získá skutečnou sílu, když je integrován s webovým serverem. V Ubuntu obvykle používáte buď Apache, nebo Nginx. Zde je návod, jak propojit PHP s oběma.

Konfigurace Apache (mod_php)

V Apache modul mod_php umožňuje spouštět PHP skripty přímo. Je snadno nastavitelný, což z něj dělá dobrý výběr pro WordPress a další CMS.

Krok 1: Nainstalovat Apache a mod_php

sudo apt install -y apache2 libapache2-mod-php

Po instalaci libapache2-mod-php může Apache zpracovávat PHP soubory.

Krok 2: Restartovat Apache

sudo systemctl restart apache2

Krok 3: Otestovat pomocí PHP souboru

Vytvořte soubor test.php v /var/www/html a otevřete jej v prohlížeči:

<?php
phpinfo();
?>

Příklad URL:

http://localhost/test.php

Konfigurace Nginx (PHP‑FPM)

Nginx je lehký a rychlý, ale nedokáže zpracovávat PHP přímo. K podpoře PHP použijete PHP‑FPM (FastCGI Process Manager).

Krok 1: Nainstalovat Nginx a PHP‑FPM

sudo apt install -y nginx php-fpm

Krok 2: Upravit konfigurační soubor Nginx

Upravte /etc/nginx/sites-available/default (nebo konfiguraci vašeho virtuálního hosta):

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

Přidejte nebo aktualizujte tento blok:

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

Krok 3: Restartovat Nginx

sudo systemctl restart nginx

Krok 4: Otestovat pomocí PHP souboru

Vytvořte /var/www/html/test.php a otevřete jej v prohlížeči, stejně jako u Apache.

Poznámka: Nastavení firewallu (pokud je potřeba)

Pokud používáte UFW (Uncomplicated Firewall), povolte přístup pomocí:

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

Apache je snadno nastavitelný, zatímco Nginx nabízí vysoký výkon. Vyberte to, co vám nejlépe vyhovuje, a ujistěte se, že je integrace PHP správně nakonfigurovaná.

8. Řešení problémů

Někdy PHP nefunguje podle očekávání, i po instalaci a integraci se serverem. Tato sekce popisuje běžné problémy, jejich příčiny a řešení.

PHP nefunguje (zdrojový kód se zobrazuje v prohlížeči)

Příčina

K tomu dochází, když Apache nebo Nginx vypisuje PHP soubor jako prostý text místo jeho zpracování. Modul PHP nebo nastavení FastCGI nemusí být správně nakonfigurované.

Řešení

  • Pro Apache: Zkontrolujte, že je nainstalován a povolen libapache2-mod-php, poté restartujte Apache.
    sudo apt install libapache2-mod-php
    sudo systemctl restart apache2
    
  • Pro Nginx: Zkontrolujte, že je nainstalován php-fpm a že konfigurace Nginx obsahuje správné fastcgi_pass a nastavení.
    sudo systemctl restart php8.2-fpm
    sudo systemctl restart nginx
    

Některé funkce PHP nefungují (Funkce nedefinované)

Příčina

Obvykle je to způsobeno tím, že požadovaný modul PHP není nainstalován nebo povolen.

Řešení

  • Nainstalujte potřebné moduly, například mbstring, xml nebo curl :
    sudo apt install php-mbstring php-xml php-curl
    
  • Po povolení modulu restartujte svůj webový server.
    sudo systemctl restart apache2  # or nginx
    
  • Zkontrolujte povolené moduly pomocí:
    php -m
    

Chyby PHP se nezobrazují

Příčina

Ve výchozím nastavení mohou být chybové zprávy PHP vypnuté.

Řešení

Upravte php.ini a změňte nastavení zobrazování chyb:

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

Nalezněte a nastavte následující:

display_errors = On
error_reporting = E_ALL

Poté restartujte svůj webový server:

sudo systemctl restart apache2

Jak zkontrolovat chybové logy

Pro Apache:

/var/log/apache2/error.log

Pro Nginx:

/var/log/nginx/error.log

Pro PHP-FPM (s Nginx):

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

Zkontrolujte tyto logy pro odstraňování problémů:

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

Při výskytu chyb si pamatujte: Zkontrolujte logy → Přezkoumejte konfiguraci → Restartujte server. Zůstaňte klidní a řešte problém krok za krokem.

9. Závěr

Tento článek vysvětlil—od základů po pokročilé kroky—jak nainstalovat PHP na Ubuntu. Zde jsou klíčové body a další kroky k prozkoumání.

Shrnutí klíčových bodů

  • Zkontrolujte verzi Ubuntu a připravte se Kontrola verze OS a aktualizace balíčků je zásadní pro hladkou instalaci PHP.
  • Dva způsoby instalace PHP Jednoduše nainstalujte z výchozího repozitáře nebo použijte PPA pro konkrétní verze.
  • Ověřte po instalaci Použijte php -v a phpinfo() k ověření PHP v CLI i ve webovém kontextu.
  • Rozšiřte funkčnost pomocí modulů Nainstalujte běžně používané moduly jako php-mbstring a php-mysql podle potřeby.
  • Přepínání mezi více verzemi Snadno spravujte verze pomocí update-alternatives nebo přepínání modulů v Apache.
  • Správná integrace s Apache/Nginx Správná konfigurace s vybraným webovým serverem zajišťuje stabilní provoz.
  • Kontrola logů pro odstraňování problémů Pokud se PHP nezobrazuje nebo nefunguje správně, revize chybových logů je nejefektivnější první krok.

Další kroky k učení

Po instalaci PHP na Ubuntu můžete chtít jít hlouběji s těmito souvisejícími tématy:

  • Instalace MySQL (MariaDB) a připojení databází
  • Instalace a nastavení WordPress
  • Používání PHP frameworků jako Laravel
  • Povolení HTTPS (nastavení SSL certifikátů pomocí Let’s Encrypt)
  • Správa automatického spouštění a restartů (použití systemd)

S těmito můžete vytvářet ještě pokročilejší webové služby a aplikace. Ubuntu a PHP společně nabízejí robustní, flexibilní open-source vývojové prostředí. Použijte tento článek jako základ pro další projekty!

10. Často kladené otázky (FAQ)

Tento FAQ pokrývá běžné překážky a otázky, které uživatelé často hledají při instalaci nebo konfiguraci PHP na Ubuntu. Odpovědi jsou jednoduché a praktické, i pro začátečníky.

Q1. Jak nainstaluji nejnovější verzi PHP na Ubuntu?

A1.
Nejnovější verze PHP není vždy v výchozím repozitáři Ubuntu. Přidejte důvěryhodný PPA ondrej/php a poté nainstalujte požadovanou verzi.

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

Q2. Jak mohu přepínat verze PHP v CLI?

A2.
Pokud máte nainstalováno více verzí, použijte update-alternatives k přepínání mezi nimi.

sudo update-alternatives --config php

Zadejte číslo pro preferovanou verzi ze zobrazeného seznamu.

Q3. Apache zobrazuje můj PHP soubor jako prostý text místo jeho vykonání.

A3.
To znamená, že Apache nepracuje s PHP – vypisuje jej jako prostý text. Zkontrolujte, že je povolen modul libapache2-mod-php, a restartujte Apache:

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

Q4. Kde se nachází konfigurační soubor PHP (php.ini)?

A4.
Existují samostatné soubory pro CLI i pro webový server. Běžná umístění jsou:

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

Část „8.2“ se mění podle verze PHP.

Q5. Jak povolit rozšíření PHP?

A5.
Po instalaci povolte modul pomocí phpenmod:

sudo phpenmod mbstring
sudo systemctl restart apache2

Po povolení restartujte webový server.

Q6. PHP nefunguje správně s Nginx. Co mám zkontrolovat?

A6.
Nginx vyžaduje php-fpm pro zpracování PHP. Ujistěte se, že vaše konfigurace obsahuje správný záznam fastcgi_pass:

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

Upravte část .sock podle vaší verze PHP.

Q7. Chyby PHP se nezobrazují na obrazovce.

A7.
V php.ini může být display_errors nastaveno na Off. Pro vývoj jej můžete povolit takto:

display_errors = On
error_reporting = E_ALL

Po provedení změn restartujte webový server.

Tyto FAQ vám pomohou vyhnout se běžným úskalím při používání PHP na Ubuntu. Mějte tyto informace po ruce pro snadnější řešení problémů!

年収訴求