Vyhledávání na webu

Nainstalujte PHP 8.1 a nastavte lokální vývojové prostředí na Ubuntu


Předchozí verze tohoto tutoriálu byla napsána alenaholligan.

Úvod

PHP je populární, open-source skriptovací jazyk na straně serveru, navržený pro vývoj webu a pohání významnou část internetu od blogů a e-shopů až po rozsáhlé aplikace. S každým novým vydáním PHP přináší lepší výkon, bezpečnost a moderní vývojové funkce, které pomáhají vývojářům vytvářet robustní a škálovatelný software.

PHP 8.1 je stabilní vydání s dlouhodobou podporou, které přináší významná vylepšení a nové funkce jazyka při zachování spolehlivosti. Instalace PHP 8.1 na Ubuntu zajistí, že vaše lokální vývojové prostředí bude aktuální, bezpečné a kompatibilní s často používanými frameworky a platformami, jako jsou WordPress, Laravel a vlastní PHP aplikace.

Tento tutoriál vás provede instalací PHP 8.1 na Ubuntu, jeho konfigurací s Apache nebo Nginx, nastavením základních PHP rozšíření a instalací Composeru pro správu závislostí. Také se naučíte, jak ověřit svou instalaci a řešit běžné problémy.

Nasazujte své PHP aplikace z GitHubu pomocí platformy Linux-Console.net App. Nechte Linux-Console.net, aby se postaral o škálování vaší aplikace.

Hlavní body

  • Instalace PHP 8.1 na Ubuntu 22.04: Ubuntu 22.04 LTS zahrnuje PHP 8.1 ve svých výchozích repozitářích, což vám umožňuje nainstalovat stabilní, dlouhodobě podporovanou verzi PHP pomocí apt bez potřeby třetích stran PPA. To zajišťuje předvídatelné aktualizace, bezpečnostní opravy a kompatibilitu s moderními PHP frameworky.

  • Základní PHP rozšíření pro reálné projekty: Většina produkčních PHP aplikací spoléhá na rozšíření jako mysql, curl, xml, mbstring, zip, gd a bcmath. Jejich včasná instalace předchází chybám při běhu a zajišťuje kompatibilitu s frameworky, jako jsou Laravel, Symfony a WordPress.

  • Volba Apache nebo Nginx pro vývoj v PHP: Apache může spouštět PHP přímo pomocí mod_php, zatímco Nginx vyžaduje PHP‑FPM pro zpracování požadavků. Oba přístupy fungují dobře pro lokální vývoj, ale PHP‑FPM lépe odráží moderní produkční prostředí a lépe škáluje při zátěži.

  • Composer jako základ moderních pracovních postupů v PHP: Composer spravuje závislosti projektů prostřednictvím composer.json a composer.lock, což zajišťuje konzistentní sestavení napříč počítači. Je nezbytný pro instalaci frameworků, generování autoloaderů a udržování spolehlivých verzí závislostí v kolaborativních PHP projektech.

  • Konfigurace PHP specificky pro vývoj: Vývojová prostředí těží z podrobného zobrazování chyb, vyšších limitů paměti a delší doby běhu. Úprava těchto nastavení v php.ini pomáhá rychle odhalovat chyby během vývoje, ale vždy je nutné je při nasazení do produkce vrátit zpět.

  • Řešení problémů a ověřování jsou součástí nastavení: Ověření PHP pomocí php -v, kontrola načtených rozšíření a kontrola logů Apache, Nginx nebo PHP‑FPM jsou klíčové kroky. Většina problémů s nastavením vzniká kvůli chybějícím rozšířením, oprávněním nebo nesprávně nakonfigurovaným direktivám webového serveru.

Předpoklady

K dokončení tohoto tutoriálu potřebujete:

  • Místní počítač nebo virtuální server s nainstalovaným Ubuntu (kompatibilní s Ubuntu 22.04 LTS a novějšími verzemi)
  • Administrátorský (sudo) přístup k počítači
  • Aktivní připojení k internetu
  • Základní znalost příkazového řádku

Pokud nastavujete nový server Ubuntu, podívejte se na náš průvodce počátečním nastavením serveru s Ubuntu.

Krok 1 — Nastavení PHP 8.1

Dokončíte instalaci a nastavení prostřednictvím příkazového řádku, což je ne-grafický způsob, jak komunikovat s počítačem. Místo klikání na tlačítka budete zadávat text a získávat zpětnou vazbu od počítače také prostřednictvím textu.

Příkazový řádek, také známý jako shell nebo terminál, vám může pomoci upravovat a automatizovat mnoho úkolů, které na počítači provádíte každý den, a je nezbytným nástrojem pro vývojáře softwaru. Existuje mnoho příkazů terminálu, které se můžete naučit a které vám umožní dělat výkonnější věci. Článek Úvod do Linuxového terminálu vám může pomoci se s terminálem lépe seznámit.

Poznámka: Pokud jste v Ubuntu noví, zvažte prohlédnutí naší dokumentace k Ubuntu pro další pokyny k administraci systému.

Na Ubuntu můžete aplikaci Terminál najít kliknutím na ikonu Ubuntu v levém horním rohu obrazovky a zadáním terminal do vyhledávacího pole. Kliknutím na ikonu aplikace Terminál ji otevřete. Alternativně můžete stisknout současně klávesy CTRL, ALT a T na klávesnici, čímž se aplikace Terminál automaticky otevře.

Poznámka: Na Ubuntu 22.04 LTS je PHP 8.1 k dispozici v základních repozitářích. Když nainstalujete PHP bez určení verze na Ubuntu 22.04, systém automaticky nainstaluje PHP 8.1.

Pokud potřebujete spravovat více verzí PHP nebo nainstalovat jinou verzi, zvažte použití phpenv nebo phpbrew pro správu verzí.

Spusťte následující příkazy pro aktualizaci seznamu dostupných balíčků a poté nainstalujte PHP 8.1:

sudo apt update
sudo apt install --no-install-recommends php8.1

Přepínač --no-install-recommends zajistí, že nebudou instalovány jiné balíčky, například webový server Apache.

Zkontrolujte informace o verzi PHP pomocí následujícího příkazu:

php -v

Dostanete výstup jako tento:

PHP 8.1.2-1ubuntu2.22 (cli) (built: Jul 15 2025 12:11:22) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.22, Copyright (c), by Zend Technologies

Tento setup byl testován na Ubuntu 22.04 LTS s využitím balíčků PHP 8.1 z oficiálních repozitářů Ubuntu.

Nainstalujte nezbytné PHP rozšíření pro webový vývoj:

sudo apt install -y php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath

Tento příkaz nainstaluje následující moduly:

  • php8.1-cli - příkazový interpreter, užitečný pro testování PHP skriptů z příkazového řádku nebo pro provádění obecných úloh skriptování v shellu
  • php8.1-common - dokumentace, příklady a běžné moduly pro PHP
  • php8.1-mysql - pro práci s databázemi MySQL
  • php8.1-zip - pro práci s komprimovanými soubory
  • php8.1-gd - pro práci s obrázky
  • php8.1-mbstring - používá se k práci s řetězci obsahujícími znaky mimo ASCII
  • php8.1-curl - umožňuje provádět HTTP požadavky v PHP
  • php8.1-xml - pro práci s XML daty
  • php8.1-bcmath - používá se při práci s přesnými desetinnými čísly

Konfigurační soubory PHP jsou uloženy v /etc/php/8.1/. Hlavní konfigurační soubor je php.ini, který může být umístěn v různých adresářích v závislosti na vašem nastavení:

  • Konfigurace CLI: /etc/php/8.1/cli/php.ini
  • Konfigurace Apache: /etc/php/8.1/apache2/php.ini (pokud je Apache nainstalováno)
  • Konfigurace PHP-FPM: /etc/php/8.1/fpm/php.ini (pokud je PHP-FPM nainstalováno)

Ověřit nainstalované rozšíření:

php -m

Tento seznam zobrazuje všechny načtené PHP moduly. Pokud php -v ukazuje jinou verzi, než očekáváte, může být nainstalováno více verzí PHP. Použijte php8.1 -v pro ověření konkrétně PHP 8.1.

Nainstalovali jste PHP a ověřili verzi, kterou máte spuštěnou. Také jste nainstalovali všechny potřebné PHP moduly a byli schopni vypsat moduly, které máte načtené.

Krok 2 — Konfigurace PHP s Apache

Nainstalujte modul Apache pro PHP:

sudo apt install libapache2-mod-php8.1

Povolte modul a restartujte Apache:

sudo a2enmod php8.1
sudo systemctl restart apache2

Pochopení mod_php: Modul mod_php vkládá PHP přímo do procesu Apache. Když Apache obdrží požadavek na PHP soubor, zpracuje ho interně pomocí integrovaného PHP interpretu. To se liší od Nginx, který vyžaduje samostatnou službu PHP-FPM. Příkaz a2enmod vytváří symbolický odkaz v /etc/apache2/mods-enabled/ pro aktivaci modulu.

Ověřte, že Apache zpracovává PHP správně, vytvořením testovacího souboru v kořenovém adresáři dokumentů Apache (obvykle /var/www/html):

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

Navštivte ve svém prohlížeči http://localhost/info.php. Měli byste vidět stránku s informacemi o konfiguraci PHP. Pro bezpečnost odstraňte tento soubor po testování:

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

Řešení problémů s Apache a PHP

Pokud Apache nenaběhne po instalaci mod_php:

Zkontrolujte chybový záznam Apache:

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

Mezi běžné problémy patří:

  • Konfliktní PHP moduly: Pokud máte více verzí PHP, nejprve vypněte ostatní PHP moduly pomocí sudo a2dismod php7.4 (pokud jsou přítomny)
  • Chyby syntaxe v konfiguraci Apache: Spusťte sudo apache2ctl configtest pro kontrolu

Pokud navštívíte localhost a uvidíte „It works!“, ale PHP soubory se zobrazují jako prostý text:

To znamená, že Apache nespouští PHP. Zkontrolujte:

  1. Ověřte, zda je modul povolen:
apache2ctl -M | grep php
  1. Pokud se nic nezobrazí, modul není načten. Znovu jej povolte:
sudo a2enmod php8.1
sudo systemctl restart apache2
  1. Zkontrolujte, zda má váš PHP soubor správnou příponu (.php) a obsahuje PHP kód

Pokud se vám zobrazí chyba 403 Zakázáno:

Zkontrolujte oprávnění souboru:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

Poznámka k zabezpečení: Funkce phpinfo() odhaluje podrobné informace o systému. Nikdy nenechávejte soubory obsahující phpinfo() na produkčních serverech.

Konfigurace virtuálního hostitele Apache

Pro lokální vývoj s vlastními doménami vytvořte virtuální hostitele:

sudo nano /etc/apache2/sites-available/example.local.conf

Přidejte tuto konfiguraci:

<VirtualHost *:80>
    ServerName example.local
    DocumentRoot /var/www/example.local
    <Directory /var/www/example.local>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
  • ServerName: Doménové jméno pro tento virtuální hostitel
  • DocumentRoot: Kde jsou umístěny vaše PHP soubory
  • AllowOverride All: Umožňuje souborům .htaccess přepsat nastavení Apache (potřebné pro frameworky jako Laravel)
  • Require all granted: Umožňuje přístup do adresáře

Vytvořte adresář, povolte stránku a restartujte Apache:

sudo mkdir -p /var/www/example.local
sudo chown -R www-data:www-data /var/www/example.local
sudo a2ensite example.local.conf
sudo systemctl restart apache2

Přidejte doménu do svého souboru /etc/hosts pro místní přístup:

echo "127.0.0.1 example.local" | sudo tee -a /etc/hosts

Volba mezi Apache a Nginx

Než nakonfigurujete svůj webový server, zvažte, který z nich vyhovuje vašim potřebám:

FunkceApache s mod_phpNginx s PHP-FPM
Zpracování PHPVložené v procesu ApacheOddělená služba PHP-FPM
Využití pamětiVyšší (PHP v každém procesu Apache)Nižší (samostatný procesní pool)
VýkonVhodné pro nízkou až střední zátěžLepší pro vysokou zátěž a současné požadavky
KonfiguraceJednodušší počáteční nastaveníSložitější (vyžaduje konfiguraci PHP-FPM)
Podpora .htaccessNativní podporaNepodporováno (nutno nakonfigurovat v blocích serveru)
Provozní použitíBěžné u sdíleného hostinguBěžné v moderních nasazeních
Křivka učeníJednodušší pro začátečníkyStrmější učební křivka
Efektivita zdrojůMéně účinný při vysokém zatíženíEfektivnější při vysokém zatížení

Kdy zvolit Apache:

  • Znáte Apache nebo potřebujete podporu .htaccess
  • Nastavení jednoduchého vývojového prostředí
  • Práce s frameworky, které se silně spoléhají na .htaccess (některé instalace WordPressu)
  • Upřednostňujete jednodušší počáteční konfiguraci

Kdy zvolit Nginx:

  • Potřebujete lepší výkon při vysokém zatížení
  • Chcete napodobit moderní výrobní prostředí
  • Vytváříte aplikace, které se budou škálovat
  • Dáváte přednost modernější architektuře

Oba fungují stejně dobře pro lokální vývoj. Volba často závisí na osobních preferencích nebo stávající infrastruktuře.

Krok 3 — Konfigurace PHP s Nginx

Nainstalujte PHP-FPM (FastCGI Process Manager):

sudo apt install php8.1-fpm

Spusťte a povolte PHP-FPM:

sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm

Pochopení PHP-FPM a FastCGI: Na rozdíl od Apache mod_php Nginx PHP přímo nezpracovává. PHP-FPM (FastCGI Process Manager) běží jako samostatná služba, se kterou Nginx komunikuje pomocí protokolu FastCGI. FastCGI je binární protokol pro propojení programů s webovými servery – je rychlejší než tradiční CGI, protože udržuje procesy aktivní mezi jednotlivými požadavky.

Když Nginx obdrží požadavek na PHP soubor, přepošle tento požadavek do PHP-FPM prostřednictvím Unix socketu (nebo TCP připojení). PHP-FPM zpracuje PHP kód a vrátí výsledek zpět do Nginxu, který jej následně odešle klientovi. Toto oddělení umožňuje PHP-FPM spravovat vlastní pool procesů, čímž se zlepšuje výkon a správa zdrojů.

Konfigurace serverového bloku Nginx

Vytvořte konfiguraci bloků serveru:

sudo nano /etc/nginx/sites-available/example.local

Přidejte tuto konfiguraci:

server {
    listen 80;
    server_name example.local;
    root /var/www/example.local;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

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

    location ~ /\.ht {
        deny all;
    }
}

Vysvětlení konfigurace:

  • root: Adresář, kde se nacházejí vaše soubory PHP
  • location ~ \.php$: Shody pro všechny požadavky končící na .php pomocí regulárního výrazu
  • include snippets/fastcgi-php.conf: Zahrnuje výchozí FastCGI konfiguraci Nginx (nastavuje SCRIPT_FILENAME a další požadované proměnné)
  • fastcgi_pass unix:/var/run/php/php8.1-fpm.sock: Unixový socket, na kterém PHP-FPM naslouchá. Tímto způsobem Nginx komunikuje s PHP-FPM. Cesta k socketu je definována v /etc/php/8.1/fpm/pool.d/www.conf

Povolte stránku a otestujte konfiguraci:

sudo mkdir -p /var/www/example.local
sudo chown -R www-data:www-data /var/www/example.local
sudo ln -s /etc/nginx/sites-available/example.local /etc/nginx/sites-enabled/
sudo nginx -t

Pokud test proběhne úspěšně, restartujte Nginx:

sudo systemctl restart nginx

Přidejte doménu do /etc/hosts:

echo "127.0.0.1 example.local" | sudo tee -a /etc/hosts

Vytvořte testovací PHP soubor:

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

Navštivte http://example.local/info.php. Měli byste vidět konfigurační stránku PHP. Po ověření odstraňte testovací soubor:

sudo rm /var/www/example.local/info.php

Řešení problémů s Nginx a PHP

Pokud se vám zobrazí chyba „502 Bad Gateway“:

To znamená, že Nginx nemůže komunikovat s PHP-FPM. Zkontrolujte:

  1. Ověřte, zda PHP-FPM běží:
sudo systemctl status php8.1-fpm
  1. Zkontrolujte, zda je cesta k zásuvce správná. Umístění zásuvky je definováno v /etc/php/8.1/fpm/pool.d/www.conf:
grep listen /etc/php/8.1/fpm/pool.d/www.conf

Měli byste vidět něco jako listen=/run/php/php8.1-fpm.sock. Cesta ve vaší konfiguraci Nginx musí přesně odpovídat. Všimněte si, že /var/run je často symbolický odkaz na /run, takže obě cesty fungují.

  1. Zkontrolujte oprávnění souboru zásuvky:
ls -la /var/run/php/php8.1-fpm.sock

Socket by měl být vlastněn uživatelem www-data nebo uživatelem, pod kterým běží Nginx. Pokud jsou oprávnění nesprávná:

sudo chown www-data:www-data /var/run/php/php8.1-fpm.sock
  1. Zkontrolujte chybový záznam Nginx:
sudo tail -20 /var/log/nginx/error.log

Můžete vidět chyby jako:

connect() to unix:/var/run/php/php8.1-fpm.sock failed (2: No such file or directory)

To naznačuje, že cesta k soketu je nesprávná nebo PHP-FPM neběží.

Pokud se PHP soubory stahují místo spuštění:

To znamená, že Nginx nepředává PHP soubory do PHP-FPM. Zkontrolujte:

  • Blok location ~ \.php$ existuje ve vaší konfiguraci serveru
  • Direktiv fastcgi_pass ukazuje na správný socket
  • Restartovali jste Nginx po provedení změn

Pokud se vám zobrazí chyba „Soubor nebyl nalezen“:

Zkontrolujte, zda soubor snippets/fastcgi-php.conf existuje:

ls -la /etc/nginx/snippets/fastcgi-php.conf

Tento soubor nastavuje SCRIPT_FILENAME, který říká PHP-FPM, který soubor má spustit. Bez něj PHP-FPM neví, který soubor má zpracovat.

Krok 4 — Konfigurace PHP pro vývoj

Konfigurujte PHP pro vývoj úpravou hlášení chyb, nastavení zobrazení a limitů paměti v php.ini. Tato nastavení se liší od konfigurací pro produkci.

PHP používá samostatné konfigurační soubory pro použití v příkazovém řádku (CLI) a na webovém serveru. Upravte příslušný soubor:

Pro CLI (při spouštění PHP z terminálu):

sudo nano /etc/php/8.1/cli/php.ini

Pro webový server (Apache nebo Nginx s PHP-FPM):

# For Apache
sudo nano /etc/php/8.1/apache2/php.ini

# For PHP-FPM (Nginx)
sudo nano /etc/php/8.1/fpm/php.ini

Poznámka: Pokud používáte jak CLI, tak webový server, musíte nakonfigurovat oba soubory zvlášť. Změny v cli/php.ini nemají vliv na webové požadavky a změny v apache2/php.ini nebo fpm/php.ini nemají vliv na skripty CLI.

Základní vývojová nastavení

Najděte a aktualizujte tato nastavení ve vašem souboru php.ini:

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
date.timezone = America/New_York

Co jednotlivé nastavení dělá:

  • display_errors=On: Zobrazuje chyby PHP přímo v prohlížeči (užitečné při ladění, nebezpečné v produkčním prostředí)
  • display_startup_errors=On: Zobrazuje chyby, ke kterým dochází při spuštění PHP
  • error_reporting=E_ALL: Hlásí všechny typy chyb (varování, upozornění, atd.)
  • log_errors=On: Zapisuje chyby do souboru protokolu
  • error_log: Kam PHP zapisuje chybové záznamy
  • memory_limit=256M: Maximální množství paměti, které může skript použít (zvyšte, pokud se vám zobrazí chyba „paměť vyčerpána“).
  • upload_max_filesize=64M: Maximální velikost nahrávaných souborů
  • post_max_size=64M: Maximální velikost dat POST (musí být větší než upload_max_filesize)
  • max_execution_time=300: Maximální doba, po kterou může skript běžet (v sekundách)
  • date.timezone: Nastavuje výchozí časové pásmo (použijte své místní časové pásmo: Asia/Kolkata, Europe/London, UTC atd.)

Upozornění pro produkci: Nikdy tyto vývojové nastavení nepoužívejte v produkčním prostředí. Vždy nastavte display_errors=Off a na živých serverech používejte vhodné úrovně hlášení chyb.

Po provedení změn restartujte svůj webový server:

# For Apache
sudo systemctl restart apache2

# For PHP-FPM
sudo systemctl restart php8.1-fpm

Ověření vaší konfigurace

Zkontrolujte, zda se vaše změny projevily:

# For CLI
php -i | grep display_errors

# For web server (create a test file)
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/test.php

Otevřete testovací soubor ve vašem prohlížeči a vyhledejte display_errors. Mělo by se zobrazit On. Po ověření testovací soubor odstraňte.

Pokud se vaše změny neobjeví:

  1. Ujistěte se, že jste upravili správný soubor php.ini (CLI vs webový server)
  2. Zkontrolujte překlepy v názvech nastavení (jsou citlivé na velikost písmen)
  3. Po provedení změn restartujte váš webový server
  4. Některá nastavení lze přepsat pomocí .htaccess (Apache) nebo php.ini ve vašem projektovém adresáři

PHP můžete začít používat hned teď, ale pravděpodobně budete chtít využívat různé knihovny k rychlému vytváření PHP aplikací. Než otestujete své PHP prostředí, nejprve si nastavte správce závislostí pro své projekty.

Krok 5 — Nastavení Composeru pro správu závislostí (volitelné)

Knihovny jsou sbírky kódu, které vám mohou pomoci řešit běžné problémy, aniž byste museli psát všechno sami. Protože je k dispozici mnoho knihoven, použití správce závislostí vám pomůže spravovat více knihoven, jakmile získáte více zkušeností s psaním v PHP.

Composer je nástroj pro správu závislostí v PHP. Umožňuje vám deklarovat knihovny, na kterých váš projekt závisí, a bude spravovat instalaci a aktualizaci těchto balíčků.

Ačkoliv je podobný, Composer není správce balíčků ve stejném smyslu jako yum nebo apt. Zabývá se „balíčky“ nebo knihovnami, ale spravuje je na bázi jednotlivých projektů, instalujíc je do adresáře (např. vendor) uvnitř vašeho projektu. Ve výchozím nastavení nic neinistaluje globálně. Tedy je to správce závislostí. Podporuje však globální projekt pro pohodlí prostřednictvím příkazu global.

Tento nápad není nový a Composer je silně inspirován Nodeovým npm a Ruby bundler.

Předpokládejme:

  • Máte projekt, který závisí na několika knihovnách.
  • Některé z těch knihoven závisí na jiných knihovnách.

Skladatel:

  • Umožňuje vám deklarovat knihovny, na kterých závisíte.
  • Zjistí, které verze kterých balíčků lze a je třeba nainstalovat, a nainstaluje je stažením do vašeho projektu.
  • Umožňuje vám aktualizovat všechny vaše závislosti jedním příkazem.
  • Umožňuje vám zobrazit kapitolu Základní použití pro více informací o deklarování závislostí.

Stáhněte si instalační program Composeru:

curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php

Ověřte integritu instalátoru kontrolou jeho SHA-384 hashe. Získejte nejnovější hash:

HASH=$(curl -sS https://composer.github.io/installer.sig)

Ověřte, zda se hash shoduje:

php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('/tmp/composer-setup.php'); } echo PHP_EOL;"

Měl bys vidět:

Installer verified

Pokud se zobrazí Installer corrupt, stahování nebylo dokončeno nebo bylo upraveno. Stáhněte si instalační soubor znovu a ověřte jeho hash. Pokud problém přetrvává, zkontrolujte své internetové připojení nebo zkuste stáhnout soubor z jiné sítě.

Nainstalujte Composer globálně:

sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

Obdržíte výstup podobný tomuto:

All settings correct for using Composer
Downloading...

Composer (version 2.3.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Otestujte svou instalaci:

composer

Obdržíte výstup jako následující:

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.3.5 2022-04-13 16:43:00

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display help for the given command. When no command is given display help for the list command
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi|--no-ansi           Force (or disable --no-ansi) ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
      --no-scripts               Skips the execution of all scripts defined in composer.json file.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      --no-cache                 Prevent use of the cache
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
. . .

Tímto se ověřuje, že Composer byl úspěšně nainstalován na vašem systému a je dostupný v celém systému.

Poznámka: Pokud dáváte přednost tomu, mít jednotlivé spustitelné soubory Composeru pro každý projekt, který hostujete na svém serveru, můžete ho nainstalovat lokálně, pro každý projekt zvlášť. Tato metoda je také užitečná, pokud váš systémový uživatel nemá oprávnění instalovat software pro celý systém.

K tomu použijte příkaz php /tmp/composer-setup.php bez jakýchkoli argumentů. Tento příkaz vygeneruje soubor composer.phar ve vašem aktuálním adresáři, který můžete spustit pomocí php composer.phar.

Krok 6 — Použití Composeru v projektu PHP

Jako poslední krok můžete volitelně inicializovat svůj projekt pomocí composer init. Tím se vytvoří soubor composer.json, který bude spravovat závislosti vašeho projektu. Inicializace projektu vám také umožní definovat podrobnosti projektu, jako je Autor a Licence, a využít funkci automatického načítání Composeru. Závislosti můžete definovat nyní nebo je přidat později.

Vytvořte adresář projektu a inicializujte Composer:

cd ~
mkdir example-project
cd example-project
composer init

Spuštění tohoto příkazu otevře průvodce nastavením. Údaje, které zadáte v průvodci, lze později aktualizovat, takže klidně ponechte výchozí hodnoty a jen stiskněte ENTER. Pokud ještě nechcete instalovat žádné závislosti, můžete zvolit ne. Zadejte své údaje při každém výzvě:

                                            
  Welcome to the Composer config generator  
                                            


This command will guide you through creating your composer.json config.

Package name (<vendor>/<name>) [sammy/example-project]:  sammy/project1
Description []:
Author [n to skip]: Sammy <sammy@linux-console.net>
Minimum Stability []: 
Package Type (e.g. library, project, metapackage, composer-plugin) []: project
License []: 

Define your dependencies.

Would you like to define your dependencies (require) interactively [yes]? no
Would you like to define your dev dependencies (require-dev) interactively [yes]? no

Add PSR-4 autoload mapping? Maps namespace "Sammy\Project1" to the entered relative path. [src/, n to skip]: n

{
    "name": "sammy/project1",
    "type": "project",
    "authors": [
        {
            "name": "Sammy",
            "email": "sammy@linux-console.net"
        }
    ],
    "require": {}
}

Do you confirm generation [yes]? yes

Než potvrdíte generování, uvidíte ukázku souboru composer.json, který průvodce vytvoří. Pokud vše vypadá dobře, můžete potvrdit výchozí možnost ano. Pokud potřebujete začít znovu, zvolte ne.

Poprvé, kdy definujete jakoukoli závislost, Composer vytvoří složku vendor. Všechny závislosti se instalují do této složky vendor. Composer také vytvoří soubor composer.lock. Tento soubor specifikuje přesnou verzi každé závislosti a podzávislosti použitých ve vašem projektu. To zajišťuje, že jakýkoli počítač, na kterém bude váš program spuštěn, bude používat přesně stejnou verzi každého balíčku.

Poznámka: Složku vendor byste nikdy neměli ukládat do vašeho systému pro správu verzí (VCS). Složka vendor obsahuje pouze balíčky, které jste nainstalovali od jiných dodavatelů. Tito jednotliví dodavatelé budou udržovat svůj vlastní kód ve svých vlastních systémech pro správu verzí. Měli byste sledovat pouze kód, který píšete vy. Místo ukládání složky vendor stačí uložit pouze soubory composer.json a composer.lock. Více informací o ignorování konkrétních souborů se můžete dozvědět v příručce Jak používat Git: Referenční průvodce.

Nyní, když máte nainstalovaný PHP a způsob, jak spravovat závislosti vašeho projektu pomocí Composeru, jste připraveni otestovat své prostředí.

Krok 7 — Testování PHP prostředí

Vytvořte a spusťte základní PHP skript pro otestování vaší instalace:

nano hello.php

Přidejte následující kód PHP:

<?php
echo 'Hello World!';
?>

Uložte a zavřete soubor (stiskněte CTRL+X, pak Y a nakonec ENTER). Spusťte skript:

php hello.php

Pokud je PHP správně zpracováno, uvidíte pouze znaky uvnitř uvozovek:

Hello World!

PHP úspěšně zpracovalo skript, což znamená, že vaše prostředí PHP je úspěšně nainstalováno a jste připraveni pokračovat ve své programátorské cestě.

Krok 8 — Nastavení reálných PHP projektů

Moderní PHP frameworky jako Laravel, Symfony a WordPress vyžadují specifické PHP rozšíření a Composer. Framework nainstalujte pomocí Composeru nebo instalátoru frameworku a poté nakonfigurujte svůj webový server tak, aby směřoval do veřejného adresáře projektu.

Nastavení Laravelu

Nainstalujte Laravel pomocí Composeru:

composer create-project laravel/laravel my-laravel-app
cd my-laravel-app

Tento příkaz stáhne Laravel a všechny jeho závislosti. Proces může trvat několik minut.

Laravel vyžaduje tyto PHP rozšíření (nainstalovaná v kroku 1):

  • php8.1-mbstring - Zpracování vícebajtových řetězců
  • php8.1-xml - zpracování XML
  • php8.1-curl - HTTP požadavky
  • php8.1-zip - práce s archivy
  • php8.1-bcmath - Matematika s libovolnou přesností

Pokud Laravel hlásí „chybí mbstring“, i když jste ji nainstalovali:

To obvykle znamená, že rozšíření je nainstalované, ale není načtené. Zkontrolujte:

  1. Ověřte, zda je rozšíření nainstalováno:
php -m | grep mbstring
  1. Pokud chybí, nainstalujte ho:
sudo apt install php8.1-mbstring
  1. Pokud je nainstalováno, ale nezobrazuje se, restartujte svůj webový server:
# For Apache
sudo systemctl restart apache2

# For PHP-FPM
sudo systemctl restart php8.1-fpm
  1. Zkontrolujte, který soubor php.ini se používá. Instalační program Laravelu používá CLI PHP, takže zkontrolujte:
php --ini

Ujistěte se, že je rozšíření povoleno v souboru php.ini pro CLI.

Ověření instalace Laravelu:

Po dokončení instalace spusťte vývojový server Laravelu:

php artisan serve

Měl bys vidět:

INFO  Server running on [http://127.0.0.1:8000]

Navštivte http://localhost:8000 ve svém prohlížeči. Měli byste vidět uvítací stránku Laravelu.

Pro produkční prostředí s Apache nebo Nginx:

Nakonfigurujte svůj webový server tak, aby směřoval do adresáře public (nikoli do kořenového adresáře projektu). Soubor public/index.php Laravelu je vstupní bod pro všechny požadavky.

Poznámka: Dozvíte se více o Laravelu v našem tutoriálu Jak nainstalovat Laravel na Ubuntu.

Nastavení WordPressu

Stáhněte a rozbalte WordPress:

cd /var/www
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo chown -R www-data:www-data /var/www/wordpress

WordPress vyžaduje databázi MySQL nebo MariaDB. Nainstalujte MySQL, pokud je to potřeba:

sudo apt install mysql-server
sudo mysql_secure_installation

Skript mysql_secure_installation vás vyzve k:

  • Nastavte heslo pro uživatele root
  • Odstranit anonymní uživatele
  • Zakázat přihlášení root na dálku
  • Odstranit testovací databázi
  • Znovu načíst tabulky oprávnění

Vytvořte databázi a uživatele pro WordPress:

sudo mysql -u root -p

V MySQL výzvě:

CREATE DATABASE wordpress_db;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Nahraďte secure_password silným heslem. WordPress bude tyto údaje používat k připojení k databázi.

Pokud se WordPress nemůže připojit k databázi:

  1. Ověřte, zda MySQL běží:
sudo systemctl status mysql
  1. Otestujte připojení k databázi:
mysql -u wpuser -p wordpress_db

Pokud to selže, zkontrolujte:

  • Uživatelské jméno a heslo jsou správné
  • Databáze existuje: SHOW DATABASES;
  • Uživatel má oprávnění: SHOW GRANTS FOR 'wpuser'@'localhost';
  1. Zkontrolujte, zda je nainstalováno rozšíření PHP pro MySQL:
php -m | grep mysql

Pokud chybí, nainstalujte jej:

sudo apt install php8.1-mysql
sudo systemctl restart apache2  # or php8.1-fpm for Nginx

Dokončení instalace WordPressu:

Nakonfigurujte svůj webový server tak, aby směřoval na /var/www/wordpress (viz Krok 2 pro Apache nebo Krok 3 pro Nginx). Navštivte web v prohlížeči. WordPress vás vyzve k:

  1. Vyberte svůj jazyk
  2. Zadejte přihlašovací údaje k databázi (použijte databázi, uživatelské jméno a heslo, které jste vytvořili)
  3. Dokončete instalaci

Poznámka: Pro podrobnou instalaci WordPressu si přečtěte Jak nainstalovat WordPress s LAMP na Ubuntu.

Nastavení Symfony

Nainstalujte Symfony pomocí Composeru:

composer create-project symfony/website-skeleton my-symfony-app
cd my-symfony-app

Symfony vyžaduje stejné rozšíření jako Laravel. Spusťte vývojový server:

symfony server:start

Nebo použijte vestavěný server PHP:

php -S localhost:8000 -t public

Pokud instalace Symfony selže kvůli chybám rozšíření:

Zkontrolujte, zda jsou všechny požadované rozšíření nainstalovány a načteny:

php -m | grep -E 'mbstring|xml|curl|zip|bcmath'

Pokud některé chybí, nainstalujte je a restartujte svůj webový server.

Krok 9 — Nejlepší postupy pro lokální vývoj

Zabezpečte své místní prostředí, používejte verzovací systém, nastavte správná oprávnění k souborům a nakonfigurujte nastavení specifická pro dané prostředí. Tyto postupy předcházejí bezpečnostním problémům a usnadňují vývoj.

Bezpečnostní úvahy

I při lokálním vývoji dodržujte bezpečnostní osvědčené postupy:

  1. Zakázat nebezpečné PHP funkce v produkci: Funkce jako exec(), system() a shell_exec() by měly být omezeny v produkčních souborech php.ini.

  2. Používejte proměnné prostředí: Uchovávejte citlivou konfiguraci v souborech .env (nikdy je neposílejte do verzovacího systému). Laravel a Symfony tuto možnost nativně podporují.

  3. Nastavte správná oprávnění souborů: Soubory webového serveru by měly být čitelné uživatelem webového serveru, ale nezapisovatelné:

sudo chown -R www-data:www-data /var/www/your-project
sudo find /var/www/your-project -type d -exec chmod 755 {} \;
sudo find /var/www/your-project -type f -exec chmod 644 {} \;

Proč jsou tato oprávnění důležitá: Adresáře potřebují 755 (čtení, zápis a spuštění pro vlastníka; čtení a spuštění pro ostatní), aby je mohl webový server procházet. Souborům je potřeba 644 (čtení a zápis pro vlastníka; pouze čtení pro ostatní), aby je webový server mohl číst, ale ne měnit. To zabraňuje tomu, aby škodlivé skripty přepisovaly vaše soubory.

Integrace správy verzí

Vždy používejte správu verzí pro své PHP projekty. Inicializujte Git ve svém adresáři projektu:

cd /var/www/your-project
git init

Vytvořte soubor .gitignore pro vyloučení nepotřebných souborů:

/vendor/
/node_modules/
.env
.DS_Store
*.log

Optimalizace výkonu

Pro lepší výkon při lokálním vývoji:

  • Povolit OPcache: OPcache je součástí PHP 8.1 a zlepšuje výkon tím, že ukládá do mezipaměti zkompilovaný PHP kód.

  • Použijte optimalizaci autoloaderu Composeru:

composer install --optimize-autoloader --no-dev
  • Konfigurujte PHP-FPM pooly pro lepší správu zdrojů při použití Nginx.

Krok 10 — Řešení běžných problémů

Běžné problémy s instalací PHP zahrnují chybějící rozšíření, nesprávná oprávnění souborů, chyby konfigurace webového serveru a konflikty verzí. Většinu problémů lze vyřešit kontrolou instalace rozšíření, ověřením oprávnění souborů a prohlédnutím logů webového serveru.

Rozšíření PHP se nenačítají

Pokud php -m nezobrazuje rozšíření, které jste právě nainstalovali:

  • Ověřte, že je skutečně nainstalován:
dpkg -l | grep php8.1-extension_name
  • Zkontrolujte, zda existuje soubor rozšíření:
ls /usr/lib/php/*/extension_name.so
  • Ověřte, že je to povoleno v php.ini. Některé rozšíření je třeba povolit explicitně:
grep -i extension_name /etc/php/8.1/*/php.ini
  • Restartujte svůj webový server:
# For Apache
sudo systemctl restart apache2

# For PHP-FPM
sudo systemctl restart php8.1-fpm
  • Zkontrolujte, který php.ini se používá:
php --ini

Ujistěte se, že kontrolujete správný soubor php.ini (CLI vs webový server).

Pokud se rozšíření stále nezobrazuje:

  • Některá rozšíření vyžadují další systémové knihovny. Zkontrolujte dokumentaci rozšíření
  • Ověřte, že jste nainstalovali správnou verzi (php8.1-extension, ne php8.0-extension)
  • Zkontrolujte konfliktní verze PHP, které by mohly způsobovat problémy

500 Vnitřní chyba serveru

Chyba 500 znamená, že server narazil na chybu, ale nemůže zobrazit podrobnosti. Zkontrolujte chybové záznamy:

# Apache
sudo tail -20 /var/log/apache2/error.log

# Nginx
sudo tail -20 /var/log/nginx/error.log

# PHP-FPM
sudo tail -20 /var/log/php8.1-fpm.log

Běžné příčiny a řešení:

  1. Nesprávná oprávnění souboru: PHP soubory musí být čitelné uživatelem webového serveru
sudo chown -R www-data:www-data /var/www/your-project
sudo find /var/www/your-project -type f -exec chmod 644 {} \;
sudo find /var/www/your-project -type d -exec chmod 755 {} \;
  1. Chybějící rozšíření PHP: Zkontrolujte chybový protokol pro zprávy jako „Volání nedefinované funkce“. Nainstalujte chybějící rozšíření a restartujte webový server.

  2. Chybné syntaxy v souborech PHP: Protokol chyb zobrazí soubor a číslo řádku. Běžné problémy:

    • Chybějící středníky
    • Neuzavřené závorky nebo uvozovky
    • Používání nedefinovaných funkcí nebo tříd
  3. Nesprávná konfigurace webového serveru:

    • Apache: Zkontrolujte konfiguraci virtuálního hostitele, načítání modulů
    • Nginx: Ověření cesty k socketu PHP-FPM, konfigurace FastCGI
  4. Překročeno paměťové omezení PHP: Zvyšte memory_limit v php.ini, pokud se zobrazují chyby „Vyčerpána povolená velikost paměti“

Konflikty verzí PHP

Pokud php -v ukáže jinou verzi, než jste očekávali, máte nainstalováno několik verzí PHP.

Zkontrolujte, které verze jsou nainstalovány:

dpkg -l | grep php | grep -E 'php[0-9]'

Explicitně použijte správnou verzi:

php8.1 -v
php8.1 -m

Aktualizujte svůj webový server na PHP 8.1:

Pro Apache deaktivujte jiné PHP moduly a povolte PHP 8.1:

sudo a2dismod php7.4 php8.0  # if they exist
sudo a2enmod php8.1
sudo systemctl restart apache2

Pro PHP-FPM zastavte jiné verze a spusťte PHP 8.1:

sudo systemctl stop php7.4-fpm php8.0-fpm  # if they exist
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm

Nastavte PHP 8.1 jako výchozí verzi CLI:

sudo update-alternatives --set php /usr/bin/php8.1

Problémy s pamětí Composeru

Pokud Composer dojde paměť, uvidíte chybu jako:

Fatal error: Allowed memory size of 134217728 bytes exhausted

Opravte to spuštěním Composeru s vyšší pamětí:

php -d memory_limit=512M /usr/local/bin/composer install

Nebo zvýšit limit paměti PHP v php.ini:

memory_limit = 512M

Pokud instalace Composeru selže kvůli nesouladu hashů:

Ověření hashe může selhat, pokud:

  • Instalační program byl aktualizován od doby, kdy jste si jej stáhli (stáhněte znovu, abyste získali nejnovější hash)
  • Váš soubor ke stažení byl poškozen (zkuste stáhnout znovu)
  • Jste za proxy serverem, který upravuje soubory (zkontrolujte nastavení sítě)

Problémy s připojením k databázi

Pokud se vaše PHP aplikace nemůže připojit k MySQL/MariaDB, můžete vidět chyby jako:

SQLSTATE[HY000] [2002] No such file or directory

nebo

Access denied for user 'username'@'localhost'

Kroky pro řešení problémů:

  1. Ověřte, že databázová služba běží:
sudo systemctl status mysql

Pokud neběží, spusťte ho:

sudo systemctl start mysql
sudo systemctl enable mysql
  1. Zkontrolujte, zda je nainstalováno rozšíření PHP pro MySQL:
php -m | grep mysql

Pokud chybí, nainstalujte jej:

sudo apt install php8.1-mysql
sudo systemctl restart apache2  # or php8.1-fpm for Nginx
  1. Ověřte údaje a oprávnění k databázi. Otestujte připojení:
mysql -u username -p database_name

Pokud to selže, zkontrolujte:

  • Uživatelské jméno a heslo jsou správné
  • Databáze existuje: SHOW DATABASES;
  • Uživatel má oprávnění: SHOW GRANTS FOR 'username'@'localhost';

Poznámka: Pro nastavení MySQL viz Jak nainstalovat MySQL na Ubuntu.

Soubor PHP se zobrazuje jako prostý text místo spuštění

Pokud se váš PHP soubor ve prohlížeči zobrazuje jako prostý text:

  1. Zkontrolujte příponu souboru: Musí být .php, nikoli .txt nebo .html

  2. Ověřte, zda PHP zpracovává soubory:

    • Apache: Zkontrolujte, zda je povolen mod_php: apache2ctl -M | grep php
    • Nginx: Zkontrolujte, zda PHP-FPM běží a zda je cesta k socketu správná
  3. Zkontrolujte oprávnění souboru: Webový server musí mít možnost soubor číst

  4. Ověřte, zda soubor obsahuje PHP kód: Ujistěte se, že začíná <?php nebo <?

  5. Zkontrolujte konfiguraci webového serveru:

    • Apache: Virtuální hostitel nemusí být správně nakonfigurován
    • Nginx: Blok location ~ \.php$ může chybět nebo být nesprávný

Problémy s nahráváním souborů

Pokud nahrávání souborů selže, můžete vidět chyby jako:

The uploaded file exceeds the upload_max_filesize directive

Zkontrolujte tato nastavení php.ini:

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300

Důležité: post_max_size musí být větší než upload_max_filesize. Pokud nastavíte upload_max_filesize=100M, nastavte post_max_size=110M nebo více.

Pokud nahrávání stále selhává:

  1. Zkontrolujte protokol chyb pro konkrétní chybové zprávy
  2. Ověřte, že adresář pro nahrávání existuje a je zapisovatelný:
sudo chmod 755 /path/to/upload/directory
sudo chown www-data:www-data /path/to/upload/directory
  1. Zkontrolujte místo na disku: df -h
  2. Ověřte, že formulář používá enctype="multipart/form-data"

Po provedení změn v php.ini restartujte svůj webový server.

Často kladené otázky

Jak nainstaluji PHP 8.1 na Ubuntu?

Nainstalujte PHP 8.1 pomocí správce balíčků Ubuntu: sudo apt update && sudo apt install php8.1. PHP 8.1 je k dispozici v výchozích repozitářích Ubuntu, takže nejsou potřeba žádné další zdroje balíčků.

Které rozšíření PHP jsou nezbytné pro vývoj?

Základní rozšíření zahrnují php8.1-cli, php8.1-mysql, php8.1-curl, php8.1-xml, php8.1-mbstring, php8.1-zip, php8.1-gd a php8.1-bcmath. Tato rozšíření pokrývají připojení k databázi, HTTP požadavky, práci s řetězci a zpracování obrázků.

Jak nakonfigurovat PHP s Apache nebo Nginx?

Pro Apache nainstalujte libapache2-mod-php8.1 a aktivujte jej pomocí sudo a2enmod php8.1. Pro Nginx nainstalujte php8.1-fpm a nakonfigurujte Nginx tak, aby předával požadavky PHP na socket PHP-FPM pomocí FastCGI.

Jak mohu ověřit, že je PHP správně nainstalováno?

Spusťte php -v pro kontrolu verze PHP. Vytvořte testovací soubor s <?php phpinfo(); ?> a otevřete ho přes svůj webový server, abyste viděli podrobné informace o konfiguraci PHP.

Mohu s tímto nastavením spustit Laravel nebo WordPress lokálně?

Ano. Laravel vyžaduje Composer a výše uvedené standardní PHP rozšíření. WordPress k PHP navíc potřebuje databázi MySQL. Oba frameworky fungují s konfiguracemi Apache nebo Nginx.

Jak nainstaluji Composer pro PHP projekty?

Stáhněte instalátor Composeru, ověřte jeho hash a nainstalujte ho globálně: sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer. Ověřte příkazem composer --version.

Jak řešit chybějící PHP rozšíření?

Zkontrolujte nainstalované rozšíření pomocí php -m. Chybějící rozšíření nainstalujte pomocí sudo apt install php8.1-název_rozdílení a poté restartujte svůj webový server.

Jak nastavím vykazování chyb PHP pro vývoj?

Upravte php.ini a nastavte display_errors=On, error_reporting=E_ALL a log_errors=On. Nezapomeňte ve výrobním prostředí vypnout zobrazování chyb.

Jaký je rozdíl mezi Apache a Nginx pro PHP?

Apache používá mod_php pro přímé zpracování PHP (PHP je vloženo do procesu Apache), zatímco Nginx vyžaduje PHP-FPM (FastCGI Process Manager) pro zpracování PHP požadavků (PHP běží jako samostatná služba). Podívejte se na sekci „Výběr mezi Apache a Nginx“ výše pro podrobnou srovnávací tabulku. Oba přístupy fungují dobře; vyberte podle svých potřeb co se týče výkonu, znalostí a stávající infrastruktury.

Mohu na stejném systému nainstalovat více verzí PHP?

Ano, lze použít nástroje jako phpenv nebo phpbrew. Pro většinu vývojových scénářů však stačí jedna verze PHP. Správce verzí použijte, pokud potřebujete testovat aplikace proti různým verzím PHP.

Závěr

Nyní máte plně nakonfigurované vývojové prostředí PHP 8.1 na Ubuntu s podporou pro webové servery Apache i Nginx. Vaše nastavení zahrnuje základní rozšíření PHP, Composer pro správu závislostí a správnou konfiguraci pro lokální vývoj.

Než začnete svůj další projekt, zvažte nastavení integrovaného vývojového prostředí (IDE) jako VS Code s PHP rozšířeními pro zvýrazňování syntaxe, ladění a podporu IntelliSense.

S připraveným prostředím můžete dále prozkoumávat vývoj v PHP:

  • Naučte se základy PHP s návodem Jak pracovat s řetězci v PHP
  • Vytvářejte API pomocí návodu Jak používat webová API v PHP
  • Pochopte funkce v Jak používat funkce v PHP
  • Nastavte databáze s průvodcem Jak nainstalovat a používat PostgreSQL na Ubuntu

Pro produkční nasazení zvažte použití platformy Linux-Console.net App Platform k nasazení vašich PHP aplikací přímo z GitHubu s automatickým škálováním a SSL certifikáty.

Děkujeme, že se učíte s komunitou Linux-Console.net.