.## 1. Úvod
- 1 2. Předpoklady a příprava
- 2 3. Jak nainstalovat PHP
- 3 4. Ověření fungování PHP
- 4 5. Instalace běžně používaných PHP modulů
- 5 6. Správa a přepínání verzí PHP
- 6 7. Integrace PHP s Apache a Nginx
- 7 8. Řešení problémů
- 8 9. Shrnutí
- 9 10. Často kladené otázky (FAQ)
Proč používat PHP na Ubuntu
PHP je server‑side skriptovací jazyk široce využívaný v mnoha webových aplikacích, včetně WordPressu. Je dlouhodobě používán ve vývoji webu a velké množství CMS platforem a frameworků je postaveno na PHP.
Ubuntu je vysoce stabilní distribuce Linuxu, kterou používají vývojáři po celém světě a je zvláště vhodná pro serverová prostředí. Kombinace Ubuntu a PHP je široce adoptována, od osobních vývojových nastavení po podnikově nasazené produkční systémy.
Cílové publikum a účel tohoto článku
Tento článek je určen pro širokou škálu uživatelů, od začátečníků, kteří chtějí nainstalovat PHP na Ubuntu, ale neví, kde začít, až po středně pokročilé uživatele, kteří potřebují nainstalovat konkrétní verze PHP. Postupy jsou vysvětleny co nejjasněji.
Instrukce jsou založeny na Ubuntu 22.04 LTS, ale stejné základní kroky platí i pro jiné verze.
Co se naučíte
Čtením tohoto článku budete schopni pochopit a vyzkoušet následující:
- Základní metody instalace PHP na Ubuntu
- Jak nainstalovat a přepínat mezi více verzemi PHP
- Jak ověřit fungování PHP a řešit případné problémy
- Konfiguraci pro integraci s Apache a Nginx
- Jak nainstalovat běžně používané PHP moduly
2. Předpoklady a příprava
Jak zkontrolovat verzi Ubuntu
Nejprve zjistěte, kterou verzi Ubuntu používáte. Metody instalace PHP a podporované moduly se mohou mírně lišit v závislosti na verzi Ubuntu.
Verzi Ubuntu můžete zjistit spuštěním následujícího příkazu:
lsb_release -a
Alternativně můžete použít tento příkaz:
cat /etc/os-release
Tento článek popisuje postupy založené na Ubuntu 22.04 LTS, ale stejné kroky obecně platí i pro Ubuntu 20.04 a 23.10.
Udržujte systémové balíčky aktuální
Před instalací PHP je velmi důležité aktualizovat všechny systémové balíčky. Pomáhá to předcházet problémům se závislostmi a konfliktům.
sudo apt update
sudo apt upgrade -y
Tím se aktualizuje index balíčků APT a zajistí, že všechny balíčky budou nainstalovány v nejnovějších stabilních verzích.
Nainstalujte požadované nástroje
Některé verze PHP vyžadují další nástroje pro správu repozitářů. Balíček software-properties-common je potřeba pro přidání repozitářů, jako jsou PPA.
Pokud není nainstalován, nainstalujte jej pomocí následujícího příkazu:
sudo apt install -y software-properties-common
Tento balíček je nezbytný pro příkazy jako add-apt-repository, které se běžně používají při instalaci konkrétních verzí PHP přes PPA.
Používání oprávnění root nebo sudo
Většina operací uvedených v tomto článku vyžaduje změny na úrovni systému. Při spouštění příkazů nezapomeňte použít sudo.
3. Jak nainstalovat PHP
Existují dva hlavní způsoby, jak nainstalovat PHP na Ubuntu. Jedním je instalace z výchozích repozitářů a druhým instalace konkrétní verze pomocí PPA (Personal Package Archive). Každá metoda je podrobně vysvětlena níže.
Instalace PHP z výchozího repozitáře
Ubuntu poskytuje stabilní verzi PHP ve svých výchozích repozitářích. Pokud nepotřebujete konkrétní verzi, je to nejjednodušší metoda.
sudo apt install -y php
Po instalaci ověřte, že je PHP nainstalováno správně:
php -v
Příklad výstupu:
PHP 8.1.2 (cli) (built: ...)
Na Ubuntu 22.04 je ve výchozím nastavení nainstalována PHP 8.1.
Instalace konkrétní verze PHP pomocí PPA
Pokud chcete použít nejnovější verzi PHP nebo spravovat více verzí, můžete přidat PPA ondrej/php.
Krok 1: Přidání PPA repozitáře
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Toto PPA je široce používáno v komunitě Ubuntu a poskytuje stabilní sestavení pro více verzí PHP.
Krok 2: Instalace požadované verze PHP
Například pro instalaci PHP 8.2:
sudo apt install -y php8.2
.Můžete také nainstalovat jiné verze, například PHP 7.4 nebo 8.0.
Krok 3: Ověření nainstalované verze
php -v
4. Ověření fungování PHP
Po instalaci PHP ověřte, že funguje správně. Můžete to zkontrolovat pomocí příkazové řádky i přes webový server, například Apache nebo Nginx.
Ověření pomocí příkazové řádky (CLI)
Nejprve zkontrolujte verzi PHP v terminálu:
php -v
Příklad výstupu:
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
Ověření pomocí webového serveru (Apache)
Pokud je nainstalován Apache, vytvořte testovací stránku pomocí funkce phpinfo().
1. Vytvořte testovací soubor
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
2. Přístup přes prohlížeč
http://localhost/info.php
3. Potvrďte výstup
Pokud se zobrazí podrobné informace o PHP, PHP funguje správně s Apachem.
🔍 Poznámka: Výstup
phpinfo()obsahuje citlivé informace. Po ověření soubor odstraňte.
sudo rm /var/www/html/info.php
Ověření s Nginx + PHP-FPM
Při použití Nginx je PHP zpracováváno pomocí php-fpm. Pro ověření správné integrace se ujistěte, že soubory .php jsou správně nakonfigurovány v konfiguračním souboru Nginx, a poté vytvořte soubor info.php stejně jako u Apache.
Pokud je konfigurace nesprávná, můžete narazit na chybu 500 nebo se soubor stáhne místo jeho vykonání. V takových případech zkontrolujte nastavení jako fastcgi_pass a include fastcgi-php.conf; v konfiguraci Nginx.
5. Instalace běžně používaných PHP modulů
Instalace samotného PHP neposkytuje veškerou funkčnost. Mnoho funkcí je dodáváno jako samostatné moduly (rozšíření), které je třeba instalovat podle potřeby. Tato sekce představuje běžně používané PHP moduly v reálném vývoji a provozu.
Co jsou PHP moduly?
PHP moduly (také nazývané rozšíření) přidávají specifické schopnosti, jako je připojení k databázi, zpracování multibyte řetězců, zpracování obrázků a parsování XML.
Moduly jsou k dispozici jako balíčky APT a lze je nainstalovat následovně:
sudo apt install php-module-name
Pokud chcete specifikovat verzi, použijte formát například php8.2-mbstring.

Hlavní PHP moduly a jejich využití
php-mbstring (Podpora multibyte řetězců)
Tento modul je nezbytný pro práci s multibyte znakovými řetězci, jako je japonský text. Je téměř povinný pro japonské weby a zpracování e‑mailů.
sudo apt install php-mbstring
php-mysql (Připojení k MySQL / MariaDB)
Tento modul je vyžadován při připojování k databázím jako MySQL nebo MariaDB. Je nezbytný pro aplikace jako WordPress.
sudo apt install php-mysql
php-gd (Zpracování obrázků)
Tento modul se používá pro generování, konverzi a změnu velikosti obrázků a je běžně využíván pro náhledy a manipulaci s obrázky.
sudo apt install php-gd
php-xml (Zpracování XML)
Tento modul je potřebný pro práci s XML‑založenými daty, jako jsou RSS kanály a SOAP služby. Často se používá v CMS platformách a integracích API.
sudo apt install php-xml
php-curl (HTTP komunikace)
Tento modul umožňuje HTTP požadavky ze serveru, například při integraci s externími API. Je vyžadován mnoha moderními frameworky.
sudo apt install php-curl
php-zip (Zpracování komprimovaných souborů)
Tento modul umožňuje vytvářet a rozbalovat ZIP soubory a často se používá ve funkcích nahrávání souborů.
sudo apt install php-zip
Aktivace modulů a restartování služeb
Některé moduly vyžadují po instalaci explicitní aktivaci. K jejich povolení použijte phpenmod.
sudo phpenmod module_name
sudo systemctl restart apache2
Povolené moduly se projeví po restartování webového serveru.
6. Správa a přepínání verzí PHP
.Ubuntu vám umožňuje nainstalovat a používat více verzí PHP na jednom serveru. To je zvláště užitečné v vývojových prostředích nebo na serverech hostujících více webových aplikací.
Tato sekce vysvětluje, jak přepínat verze PHP pro CLI a pro Apache.
Přepínání verzí PHP v CLI
Použitý příkaz: update-alternatives
Můžete snadno přepnout verzi PHP používanou v příkazové řádce pomocí update-alternatives.
Krok 1: Zkontrolujte nainstalované verze PHP
ls /usr/bin/php*
Krok 2: Zaregistrujte verze PHP (pouze při prvním použití)
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: Vyberte verzi PHP
sudo update-alternatives --config php
Uvidíte výběrové menu podobné následujícímu:
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:
Krok 4: Ověřte verzi
php -v
Přepínání verzí PHP v Apache
Při používání Apache jsou verze PHP spravovány pomocí modulů Apache. Verze můžete přepínat povolením a zakázáním modulů.
1. Zkontrolujte dostupné moduly
ls /etc/apache2/mods-available | grep php
2. Zakázat aktuálně aktivní modul
sudo a2dismod php7.4
3. Povolit požadovanou verzi
sudo a2enmod php8.2
4. Restartovat Apache
sudo systemctl restart apache2
7. Integrace PHP s Apache a Nginx
PHP se stává skutečně výkonným, když je integrován s webovým serverem. Na Ubuntu jsou nejčastěji používané webové servery Apache a Nginx.
Integrace s Apache (mod_php)
Apache může zpracovávat PHP skripty přímo pomocí modulu mod_php. Tato metoda je jednoduchá a vhodná pro CMS platformy jako WordPress.
Krok 1: Nainstalujte Apache a mod_php
sudo apt install -y apache2 libapache2-mod-php
Krok 2: Restartujte Apache
sudo systemctl restart apache2
Krok 3: Otestujte spuštění PHP
<?php
phpinfo();
?>
http://localhost/test.php
Integrace s Nginx (PHP-FPM)
Nginx nepracuje s PHP přímo. Místo toho se spoléhá na PHP-FPM (FastCGI Process Manager).
Krok 1: Nainstalujte Nginx a PHP-FPM
sudo apt install -y nginx php-fpm
Krok 2: Upravte konfiguraci Nginx
sudo nano /etc/nginx/sites-available/default
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Krok 3: Restartujte Nginx
sudo systemctl restart nginx
8. Řešení problémů
Zdrojový kód PHP se zobrazuje v prohlížeči
Příčina
K tomu dochází, když webový server nezpracovává soubory PHP správně.
Řešení
- Apache:
sudo apt install libapache2-mod-php sudo systemctl restart apache2
- Nginx:
sudo systemctl restart php8.2-fpm sudo systemctl restart nginx
PHP funkce jsou nedefinované
Příčina
Požadované PHP moduly nejsou nainstalovány nebo povoleny.
Řešení
sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2
php -m
PHP chyby se nezobrazují
Řešení
sudo nano /etc/php/8.2/apache2/php.ini
display_errors = On
error_reporting = E_ALL
sudo systemctl restart apache2
Umístění souborů protokolu
Apache:
/var/log/apache2/error.log
Nginx:
/var/log/nginx/error.log
PHP-FPM:
/var/log/php8.2-fpm.log
9. Shrnutí
Tento článek poskytuje krok‑za‑krokem vysvětlení, jak nainstalovat PHP na Ubuntu, od základů po pokročilá témata.
Klíčové poznatky
- Zkontrolujte verzi Ubuntu a aktualizujte balíčky
- Nainstalujte PHP z výchozích repozitářů nebo pomocí PPA
- Ověřte PHP pomocí CLI a webových serverů
- Rozšiřte funkčnost pomocí modulů
- Flexibilně spravujte více verzí PHP
- Správně integrujte s Apache nebo Nginx
- Kontrolujte logy při řešení problémů
Další kroky
- Nainstalujte MySQL nebo MariaDB
- Nastavte WordPress
- Používejte PHP frameworky jako Laravel
- Aktivujte HTTPS pomocí SSL certifikátů
- Spravujte služby pomocí systemd
Ubuntu a PHP společně poskytují robustní a flexibilní vývojové prostředí. Použijte tento průvodce jako základ a nadále rozšiřujte své dovednosti.
10. Často kladené otázky (FAQ)
Q1. Jak nainstalovat nejnovější verzi PHP na Ubuntu?
A. Použijte PPA ondrej/php a uveďte požadovanou verzi.
Q2. Jak přepnout verze PHP v CLI?
sudo update-alternatives --config php
Q3. Zdrojový kód PHP se zobrazuje v Apache.
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
Q4. Kde se nachází php.ini?
- Apache:
/etc/php/8.2/apache2/php.ini - CLI:
/etc/php/8.2/cli/php.ini
Q5. Jak povolit PHP moduly?
sudo phpenmod mbstring
sudo systemctl restart apache2
Q6. PHP nefunguje s Nginx.
Ujistěte se, že je nainstalován php-fpm a že je fastcgi_pass správně nakonfigurován.
Q7. Chyby PHP nejsou viditelné.
display_errors = On
error_reporting = E_ALL



