- 1 1. Úvod
- 2 2. Předpoklady a příprava
- 3 3. Jak nainstalovat PHP
- 4 4. Ověření instalace PHP
- 5 5. Instalace běžně používaných PHP modulů
- 6 6. Správa a přepínání verzí PHP
- 7 7. Konfigurace integrace s Apache a Nginx
- 8 8. Řešení problémů
- 9 9. Závěr
- 10 10. Často kladené otázky (FAQ)
- 10.1 Q1. Jak nainstaluji nejnovější verzi PHP na Ubuntu?
- 10.2 Q2. Jak mohu přepínat verze PHP v CLI?
- 10.3 Q3. Apache zobrazuje můj PHP soubor jako prostý text místo jeho vykonání.
- 10.4 Q4. Kde se nachází konfigurační soubor PHP (php.ini)?
- 10.5 Q5. Jak povolit rozšíření PHP?
- 10.6 Q6. PHP nefunguje správně s Nginx. Co mám zkontrolovat?
- 10.7 Q7. Chyby PHP se nezobrazují na obrazovce.
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 souborinfo.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-fpma že konfigurace Nginx obsahuje správnéfastcgi_passa 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,xmlnebocurl: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 -vaphpinfo()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-mbstringaphp-mysqlpodle potřeby. - Přepínání mezi více verzemi Snadno spravujte verze pomocí
update-alternativesnebo 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ů!

