Nainštalujte PHP 8.1 a nastavte lokálne vývojové prostredie na Ubuntu
Predchádzajúcu verziu tohto tutoriálu napísala alenaholligan.
Úvod
PHP je populárny open-source skriptovací jazyk na strane servera navrhnutý na vývoj webu a poháňa významnú časť internetu od blogov a e-shopov až po veľké aplikácie. S každým novým vydaním PHP prináša lepší výkon, bezpečnosť a moderné vývojové funkcie, ktoré pomáhajú vývojárom vytvárať robustný a škálovateľný softvér.
PHP 8.1 je stabilná verzia s dlhodobou podporou, ktorá prináša významné vylepšenia a nové jazykové funkcie pri zachovaní spoľahlivosti. Inštalácia PHP 8.1 na Ubuntu zabezpečuje, že vaše lokálne vývojové prostredie je aktuálne, bezpečné a kompatibilné s bežne používanými rámcami a platformami ako WordPress, Laravel a vlastné PHP aplikácie.
Tento návod vás prevedie inštaláciou PHP 8.1 na Ubuntu, jeho konfiguráciou s Apache alebo Nginx, nastavením základných PHP rozšírení a inštaláciou Composeru pre správu závislostí. Tiež sa naučíte, ako overiť svoju inštaláciu a riešiť bežné problémy.
Nasadzujte svoje PHP aplikácie z GitHubu pomocou platformy Linux-Console.net App. Nechajte Linux-Console.net, aby sa postaral o škálovanie vašej aplikácie.
Hlavné poznatky
Inštalácia PHP 8.1 na Ubuntu 22.04: Ubuntu 22.04 LTS obsahuje PHP 8.1 vo svojich predvolených repozitároch, čo vám umožňuje nainštalovať stabilnú verziu PHP s dlhodobou podporou pomocou
aptbez potreby tretích strán PPAs. Toto zabezpečuje predvídateľné aktualizácie, bezpečnostné záplaty a kompatibilitu s modernými PHP frameworkmi.Nezbytné PHP rozšírenia pre reálne projekty: Väčšina PHP aplikácií určených na produkciu sa spolieha na rozšírenia ako
mysql,curl,xml,mbstring,zip,gdabcmath. Ich včasná inštalácia zabraňuje chybám počas behu a zaručuje kompatibilitu s frameworkmi ako Laravel, Symfony a WordPress.Výber medzi Apache a Nginx pre vývoj PHP: Apache môže vykonávať PHP priamo pomocou
mod_php, zatiaľ čo Nginx vyžaduje PHP‑FPM na spracovanie požiadaviek. Obe prístupy fungujú dobre pre lokálny vývoj, ale PHP‑FPM lepšie odráža moderné produkčné prostredie a lepšie sa škáluje pri zaťažení.Composer ako základ moderných PHP workflowov: Composer spravuje závislosti projektu cez
composer.jsonacomposer.lock, čím zabezpečuje konzistentné zostavenie na rôznych počítačoch. Je nevyhnutný na inštaláciu frameworkov, generovanie autoloaderov a udržiavanie spoľahlivých verzií závislostí v spoluprácou vytváraných PHP projektoch.Konfigurácia PHP špeciálne pre vývoj: Vývojové prostredia profitujú z podrobného hlásenia chýb, vyšších limitov pamäte a dlhšieho času vykonávania. Úprava týchto nastavení v
php.inipomáha rýchlo odhaliť chyby počas vývoja, ale pri nasadení do produkcie ich treba vždy vrátiť späť.Riešenie problémov a overovanie sú súčasťou nastavenia: Overenie PHP pomocou
php -v, kontrola načítaných rozšírení a prehliadanie logov Apache, Nginx alebo PHP‑FPM sú kľúčové kroky. Väčšina problémov pri nastavení vzniká z dôvodu chýbajúcich rozšírení, oprávnení alebo nesprávne nakonfigurovaných direktív webového servera.
Predpoklady
Na dokončenie tohto tutoriálu potrebujete:
- Lokálny počítač alebo virtuálny server s operačným systémom Ubuntu (kompatibilný s Ubuntu 22.04 LTS a novšími verziami)
- Administrátorský (sudo) prístup k zariadeniu
- Aktívne pripojenie na internet
- Základná znalosť príkazového riadka
Ak nastavujete nový server s Ubuntu, pozrite si náš návod na počiatočné nastavenie servera s Ubuntu.
Krok 1 — Nastavenie PHP 8.1
Dokončíte inštaláciu a nastavenie cez príkazový riadok, čo je ne-grafický spôsob interakcie s počítačom. To znamená, že namiesto klikania na tlačidlá budete zadávať text a dostávať spätnú väzbu od počítača tiež cez text.
Príkazový riadok, známy aj ako shell alebo terminál, vám môže pomôcť upravovať a automatizovať mnoho úloh, ktoré každý deň robíte na počítači, a je nevyhnutným nástrojom pre softvérových vývojárov. Existuje veľa terminálových príkazov, ktoré sa môžete naučiť a umožnia vám robiť výkonnejšie veci. Článok Úvod do Linuxového terminálu vám môže pomôcť lepšie sa zorientovať v termináli.
Poznámka: Ak ste v Ubuntu nováčik, zvážte preštudovanie našej dokumentácie k Ubuntu pre ďalšie pokyny k správe systému.
Na Ubuntu môžete nájsť aplikáciu Terminál kliknutím na ikonu Ubuntu v ľavom hornom rohu obrazovky a do vyhľadávacieho poľa zadajte terminál. Kliknite na ikonu aplikácie Terminál, aby ste ju otvorili. Prípadne môžete súčasne stlačiť klávesy CTRL, ALT a T na klávesnici a aplikácia Terminál sa otvorí automaticky.
Poznámka: Na Ubuntu 22.04 LTS je PHP 8.1 k dispozícii v predvolených repozitároch. Keď nainštalujete PHP bez určenia verzie na Ubuntu 22.04, systém automaticky nainštaluje PHP 8.1.
Ak potrebujete spravovať viacero verzií PHP alebo nainštalovať inú verziu, zvážte použitie phpenv alebo phpbrew na správu verzií.
Spustite nasledujúce príkazy na aktualizáciu zoznamu dostupných balíkov a potom nainštalujte PHP 8.1:
sudo apt updatesudo apt install --no-install-recommends php8.1Prepínač --no-install-recommends zabezpečí, že sa nebudú inštalovať ďalšie balíky, ako napríklad webový server Apache.
Skontrolujte informácie o verzii PHP pomocou nasledujúceho príkazu:
php -vDostanete výstup ako 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
Táto konfigurácia bola testovaná na Ubuntu 22.04 LTS pomocou balíčkov PHP 8.1 z oficiálnych repozitárov Ubuntu.
Nainštalujte základné PHP rozšírenia pre 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-bcmathTento príkaz nainštaluje nasledujúce moduly:
php8.1-cli- príkazový interpret, užitočný na testovanie PHP skriptov zo shellu alebo na vykonávanie všeobecných úloh shell skriptovaniaphp8.1-common- dokumentácia, príklady a bežné moduly pre PHPphp8.1-mysql- na prácu s databázami MySQLphp8.1-zip- na prácu s komprimovanými súbormiphp8.1-gd- na prácu s obrázkamiphp8.1-mbstring- používa sa na prácu s ne-ASCII reťazcamiphp8.1-curl- umožňuje vám robiť HTTP požiadavky v PHPphp8.1-xml- na prácu s XML dátamiphp8.1-bcmath- používa sa pri práci s desatinnými číslami s presnosťou
Konfiguračné súbory PHP sú uložené v /etc/php/8.1/. Hlavný konfiguračný súbor je php.ini, ktorý sa môže nachádzať v rôznych adresároch v závislosti od vašej konfigurácie:
- Konfigurácia CLI:
/etc/php/8.1/cli/php.ini - Konfigurácia Apache:
/etc/php/8.1/apache2/php.ini(ak je nainštalovaný Apache) - Konfigurácia PHP-FPM:
/etc/php/8.1/fpm/php.ini(ak je PHP-FPM nainštalovaný)
Overiť nainštalované rozšírenia:
php -mToto zobrazuje všetky načítané PHP moduly. Ak php -v ukazuje inú verziu než očakávate, máte pravdepodobne nainštalovaných viacero verzií PHP. Použite php8.1 -v na overenie PHP 8.1 konkrétne.
Nainštalovali ste PHP a overili verziu, ktorú máte spustenú. Tiež ste nainštalovali všetky potrebné PHP moduly a boli ste schopní zobraziť moduly, ktoré máte načítané.
Krok 2 — Konfigurácia PHP s Apache
Nainštalujte modul Apache PHP:
sudo apt install libapache2-mod-php8.1Povoľte modul a reštartujte Apache:
sudo a2enmod php8.1
sudo systemctl restart apache2Pochopenie mod_php: Modul mod_php vkladá PHP priamo do procesu Apache. Keď Apache dostane požiadavku na PHP súbor, spracuje ho interne pomocou vloženého PHP interpretéra. To sa líši od Nginxu, ktorý vyžaduje samostatnú službu PHP-FPM. Príkaz a2enmod vytvorí symbolický odkaz v /etc/apache2/mods-enabled/ na aktiváciu modulu.
Overte, či Apache spracováva PHP správne, vytvorením testovacieho súboru v dokumentovom koreňovom adresári Apache (zvyčajne /var/www/html):
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.phpNavštívte http://localhost/info.php vo vašom prehliadači. Mali by ste vidieť stránku s konfiguračnými informáciami PHP. Po otestovaní tento súbor odstráňte kvôli bezpečnosti:
sudo rm /var/www/html/info.phpRiešenie problémov s Apache PHP
Ak Apache nezačne po inštalácii mod_php:
Skontrolujte chybový záznam Apache:
sudo tail -20 /var/log/apache2/error.logBežné problémy zahŕňajú:
- Konfliktné PHP moduly: Ak máte viaceré verzie PHP, najprv deaktivujte ostatné PHP moduly príkazom
sudo a2dismod php7.4(ak sú prítomné) - Chyby syntaxe v konfigurácii Apache: Spustite
sudo apache2ctl configtestna kontrolu
Ak navštívite localhost a uvidíte „It works!“, ale PHP súbory sa zobrazujú ako obyčajný text:
To znamená, že Apache nespracováva PHP. Skontrolujte:
- Overte, či je modul povolený:
apache2ctl -M | grep php- Ak sa nič nezobrazí, modul nie je načítaný. Znova ho povolte:
sudo a2enmod php8.1
sudo systemctl restart apache2- Skontrolujte, či má váš PHP súbor správnu príponu (
.php) a obsahuje PHP kód
Ak dostanete chybu 403 Zakázané:
Skontrolujte oprávnenia súboru:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/htmlBezpečnostná poznámka: Funkcia phpinfo() zobrazuje podrobné informácie o systéme. Nikdy nenechávajte súbory obsahujúce phpinfo() na produkčných serveroch.
Konfigurácia virtuálneho hostiteľa Apache
Pre lokálny vývoj s vlastnými doménami vytvorte virtuálny hostiteľ:
sudo nano /etc/apache2/sites-available/example.local.confPridajte túto konfiguráciu:
<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: Názov domény pre tento virtuálny hostiteľDocumentRoot: Kde sa nachádzajú vaše PHP súboryAllowOverride All: Umožňuje súborom.htaccessprepisovať nastavenia Apache (potrebné pre frameworky ako Laravel)Require all granted: Umožňuje prístup do adresára
Vytvorte adresár, povoľte stránku a reštartujte 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 apache2Pridajte doménu do vášho súboru /etc/hosts pre lokálny prístup:
echo "127.0.0.1 example.local" | sudo tee -a /etc/hostsVýber medzi Apache a Nginx
Pred konfiguráciou vášho webového servera zvážte, ktorý z nich najlepšie vyhovuje vašim potrebám:
| Funkcia | Apache s mod_php | Nginx s PHP-FPM |
|---|---|---|
| Spracovanie PHP | Vložené v procese Apache | Samostatná služba PHP-FPM |
| Využitie pamäte | Vyššie (PHP v každom procese Apache) | Nižšie (samostatný procesný pool) |
| Výkon | Vhodné pre nízku až strednú premávku | Lepšie pre vysokú premávku a súbežné požiadavky |
| Konfigurácia | Jednoduchšie počiatočné nastavenie | Zložitejšie (vyžaduje konfiguráciu PHP-FPM) |
| Podpora .htaccess | Nativná podpora | Nie je podporované (musí sa nakonfigurovať v blokoch servera) |
| Produkčné použitie | Bežné pri zdieľanom hostingu | Bežné v moderných nasadeniach |
| Krivka učenia | Jednoduchšie pre začiatočníkov | Strmšia učebná krivka |
| Efektívnosť zdrojov | Menej efektívny pri vysokom zaťažení | Efektívnejší pri vysokom zaťažení |
Kedy zvoliť Apache:
- Poznáte Apache alebo potrebujete podporu pre
.htaccess - Nastavenie jednoduchého vývojového prostredia
- Práca s rámcami, ktoré sa silno spoliehajú na
.htaccess(niektoré inštalácie WordPressu) - Uprednostňujete jednoduchšie počiatočné nastavenie
Kedy si vybrať Nginx:
- Potrebujete lepší výkon pri veľkom zaťažení
- Chcete napodobniť moderné výrobné prostredia
- Budujete aplikácie, ktoré sa dokážu škálovať
- Uprednostňujete modernejšiu architektúru
Obe fungujú rovnako dobre pre lokálny vývoj. Voľba často závisí od osobných preferencií alebo existujúcej infraštruktúry.
Krok 3 — Konfigurácia PHP s Nginx
Nainštalujte PHP-FPM (Správca procesov FastCGI):
sudo apt install php8.1-fpmSpustite a povoľte PHP-FPM:
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpmPochopenie PHP-FPM a FastCGI: Na rozdiel od Apache mod_php, Nginx nespracováva PHP priamo. PHP-FPM (FastCGI Process Manager) beží ako samostatná služba, s ktorou Nginx komunikuje pomocou protokolu FastCGI. FastCGI je binárny protokol pre komunikáciu programov s webovými servermi – je rýchlejší než tradičné CGI, pretože udržiava procesy aktívne medzi požiadavkami.
Keď Nginx dostane požiadavku na PHP súbor, presmeruje ju na PHP-FPM pomocou Unix socketu (alebo TCP pripojenia). PHP-FPM spracuje PHP kód a vráti výsledok Nginx, ktorý ho potom pošle klientovi. Toto oddelenie umožňuje PHP-FPM spravovať vlastný bazén procesov, čím sa zlepšuje výkon a správa zdrojov.
Konfigurácia blokov servera Nginx
Vytvorte konfiguráciu blokovania servera:
sudo nano /etc/nginx/sites-available/example.localPridajte túto konfiguráciu:
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;
}
}Vysvetlenie konfigurácie:
root: Adresár, kde sa nachádzajú vaše PHP súborylocation ~ \.php$: Zodpovedá všetkým požiadavkám končiacim na.phppomocou regulárneho výrazuinclude snippets/fastcgi-php.conf: Zahŕňa predvolenú FastCGI konfiguráciu Nginxu (nastavujeSCRIPT_FILENAMEa ďalšie potrebné premenné)fastcgi_pass unix:/var/run/php/php8.1-fpm.sock: Unix soket, na ktorom PHP-FPM počúva. Takto komunikuje Nginx s PHP-FPM. Cesta k soketu je definovaná v/etc/php/8.1/fpm/pool.d/www.conf
Povoľte stránku a otestujte konfiguráciu:
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 -tAk test prejde, reštartujte Nginx:
sudo systemctl restart nginxPridajte doménu do /etc/hosts:
echo "127.0.0.1 example.local" | sudo tee -a /etc/hostsVytvorte testovací PHP súbor:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.local/info.phpNavštívte http://example.local/info.php. Mali by ste vidieť konfiguračnú stránku PHP. Po overení odstráňte testovací súbor:
sudo rm /var/www/example.local/info.phpRiešenie problémov s Nginx a PHP
Ak sa vám zobrazí chyba „502 Bad Gateway“:
To znamená, že Nginx nemôže komunikovať s PHP-FPM. Skontrolujte:
- Skontrolujte, či PHP-FPM beží:
sudo systemctl status php8.1-fpm- Skontrolujte, či je cesta k zásuvke správna. Umiestnenie zásuvky je definované v
/etc/php/8.1/fpm/pool.d/www.conf:
grep listen /etc/php/8.1/fpm/pool.d/www.confMali by ste vidieť niečo ako listen=/run/php/php8.1-fpm.sock. Cesta vo vašej konfigurácii Nginxu sa musí presne zhodovať. Všimnite si, že /var/run je často symbolický odkaz na /run, takže obidve cesty fungujú.
- Skontrolujte oprávnenia súboru socketu:
ls -la /var/run/php/php8.1-fpm.sockZásuvka by mala patriť používateľovi www-data alebo používateľovi, pod ktorým beží Nginx. Ak sú práva nesprávne:
sudo chown www-data:www-data /var/run/php/php8.1-fpm.sock- Skontrolujte chybový záznam Nginx:
sudo tail -20 /var/log/nginx/error.logMôžete vidieť chyby ako:
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ávna alebo PHP-FPM nebeží.
Ak sa súbory PHP sťahujú namiesto spustenia:
To znamená, že Nginx neposiela PHP súbory do PHP-FPM. Skontrolujte:
- Blok
location ~ \.php$existuje vo vašej konfigurácii servera - Direktíva
fastcgi_passukazuje na správnu soketu - Po vykonaní zmien ste reštartovali Nginx
Ak sa vám zobrazí chyba „Súbor nenájdený“:
Skontrolujte, či snippets/fastcgi-php.conf existuje:
ls -la /etc/nginx/snippets/fastcgi-php.confTento súbor nastavuje SCRIPT_FILENAME, ktorý hovorí PHP-FPM, ktorý súbor má vykonať. Bez toho PHP-FPM nevie, ktorý súbor spracovať.
Krok 4 — Konfigurácia PHP pre vývoj
Nakonfigurujte PHP pre vývoj úpravou hlásenia chýb, nastavení zobrazovania a limitov pamäte v php.ini. Tieto nastavenia sa líšia od produkčných konfigurácií.
PHP používa samostatné konfiguračné súbory pre použitie v CLI (príkazový riadok) a webovom serveri. Upravte príslušný súbor:
Pre CLI (pri spustení PHP z terminálu):
sudo nano /etc/php/8.1/cli/php.iniPre webový server (Apache alebo 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.iniPoznámka: Ak používate zároveň CLI a webový server, musíte nakonfigurovať oba súbory samostatne. Zmeny v cli/php.ini neovplyvnia webové požiadavky a zmeny v apache2/php.ini alebo fpm/php.ini neovplyvnia skripty CLI.
Základné nastavenia vývoja
Nájdite tieto nastavenia vo vašom súbore php.ini a aktualizujte ich:
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Čo robí každé nastavenie:
display_errors=On: Zobrazuje chyby PHP priamo v prehliadači (užitočné pri ladení, nebezpečné v produkcii)display_startup_errors=On: Zobrazuje chyby, ktoré sa vyskytujú počas spúšťania PHPerror_reporting=E_ALL: Hlási všetky typy chýb (varovania, upozornenia atď.)log_errors=On: Zapisuje chyby do súboru protokoluerror_log: Kde PHP zapisuje záznamy chýbmemory_limit=256M: Maximálna pamäť, ktorú môže skript použiť (zvýšte, ak sa zobrazia chyby „pamäť vyčerpaná“)upload_max_filesize=64M: Maximálna veľkosť pre nahrávané súborypost_max_size=64M: Maximálna veľkosť pre POST dáta (musí byť väčšia akoupload_max_filesize)max_execution_time=300: Maximálny čas, počas ktorého môže skript bežať (v sekundách)date.timezone: Nastavuje predvolené časové pásmo (použite svoje miestne časové pásmo:Asia/Kolkata,Europe/London,UTCa pod.)
Varovanie pre produkciu: Nikdy nepoužívajte tieto nastavenia vývoja v produkcii. Vždy nastavte display_errors=Off a používajte vhodné úrovne hlásenia chýb na živých serveroch.
Po vykonaní zmien reštartujte svoj webový server:
# For Apache
sudo systemctl restart apache2
# For PHP-FPM
sudo systemctl restart php8.1-fpmOverovanie vašej konfigurácie
Skontrolujte, či sa vaše zmeny prejavili:
# For CLI
php -i | grep display_errors
# For web server (create a test file)
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/test.phpNavštívte testovací súbor vo vašom prehliadači a vyhľadajte display_errors. Malo by to ukazovať On. Odstráňte testovací súbor po overení.
Ak sa vaše zmeny nezobrazia:
- Uistite sa, že ste upravili správny súbor
php.ini(CLI vs webový server) - Skontrolujte pravopis názvov nastavení (rozlišujú veľké a malé písmená)
- Reštartujte svoj webový server po vykonaní zmien
- Niektoré nastavenia môžu byť prepísané súborom
.htaccess(Apache) alebophp.inivo vašom adresári projektu
Mohli by ste začať používať PHP hneď teraz, ale pravdepodobne budete chcieť používať rôzne knižnice na rýchle vytváranie PHP aplikácií. Pred tým, než otestujete svoje PHP prostredie, najprv nastavte správcu závislostí pre vaše projekty.
Krok 5 — Nastavenie Composer pre správu závislostí (voliteľné)
Knižnice sú zbierky kódu, ktoré vám môžu pomôcť riešiť bežné problémy bez toho, aby ste museli všetko písať sami. Keďže je k dispozícii mnoho knižníc, používanie správcu závislostí vám pomôže spravovať viacero knižníc, keď získate väčšie skúsenosti s písaním PHP.
Composer je nástroj na správu závislostí v PHP. Umožňuje vám deklarovať knižnice, od ktorých váš projekt závisí, a bude ich inštalovať a aktualizovať.
Hoci je podobný, Composer nie je správca balíkov v rovnakom zmysle ako yum alebo apt. Zaoberá sa „balíkmi“ alebo knižnicami, ale spravuje ich na báze jednotlivých projektov, inštalujúc ich do adresára (napr. vendor) vo vnútri vášho projektu. Štandardne nič neinštaluje globálne. Preto je to správca závislostí. Podporuje však globálny projekt pre pohodlie prostredníctvom príkazu global.
Táto myšlienka nie je nová a Composer je silne inšpirovaný Nodeovým npm a Ruby bundler.
Predpokladajme:
- Máte projekt, ktorý závisí od niekoľkých knižníc.
- Niektoré z týchto knižníc závisia od iných knižníc.
Skladateľ:
- Umožňuje vám deklarovať knižnice, na ktorých závisíte.
- Zistí, ktoré verzie ktorých balíkov sa dajú a je potrebné nainštalovať, a nainštaluje ich stiahnutím do vášho projektu.
- Umožňuje vám aktualizovať všetky vaše závislosti jedným príkazom.
- Umožňuje vám zobraziť kapitolu Základné používanie pre podrobnejšie informácie o deklarovaní závislostí.
Stiahnite si inštalátor Composer-a:
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.phpOverte integritu inštalátora kontrolou jeho SHA-384 hash. Získajte najnovší hash:
HASH=$(curl -sS https://composer.github.io/installer.sig)Overte, či sa zhoda hašu:
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;"Mal by si vidieť:
Installer verifiedAk vidíte Installer corrupt, sťahovanie bolo neúplné alebo upravené. Stiahnite inštalátor znova a overte jeho hash. Ak problém pretrváva, skontrolujte svoje internetové pripojenie alebo skúste stiahnuť zo siete iného poskytovateľa.
Nainštalujte Composer globálne:
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composerDostanete 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/composerOtestujte svoju inštaláciu:
composerDostanete výstup ako nasledujúci:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
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 sa overuje, že Composer bol úspešne nainštalovaný vo vašom systéme a je dostupný v celom systéme.
Poznámka: Ak si prajete mať samostatné spustiteľné súbory Composer pre každý projekt, ktorý hosťujete na svojom serveri, môžete ho nainštalovať lokálne, pre každý projekt zvlášť. Táto metóda je užitočná aj v prípade, že váš systémový používateľ nemá oprávnenie inštalovať softvér pre celý systém.
Na toto použite príkaz php /tmp/composer-setup.php bez akýchkoľvek argumentov. Tento príkaz vygeneruje súbor composer.phar vo vašom aktuálnom priečinku, ktorý môžete spustiť pomocou php composer.phar.
Krok 6 — Používanie Composeru v PHP projekte
Ako posledný krok môžete voliteľne inicializovať svoj projekt pomocou composer init. Tým sa vytvorí súbor composer.json, ktorý bude spravovať závislosti vášho projektu. Inicializácia projektu vám tiež umožní definovať detaily projektu, ako je Autor a Licencia, a používať funkciu autoload Composeru. Závislosti môžete definovať teraz alebo pridať neskôr.
Vytvorte adresár projektu a inicializujte Composer:
cd ~
mkdir example-project
cd example-project
composer initSpustením tohto príkazu sa spustí inštalačný sprievodca. Údaje, ktoré zadáte v sprievodcovi, je možné neskôr aktualizovať, takže sa pokojne môžete držať predvolených nastavení a jednoducho stlačiť ENTER. Ak nie ste pripravení nainštalovať žiadne závislosti, môžete zvoliť no. Zadajte svoje údaje pri každom výzve:
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]? yesPredtým ako potvrdíte generovanie, uvidíte ukážku súboru composer.json, ktorý sprievodca vytvorí. Ak všetko vyzerá v poriadku, môžete potvrdiť predvolenú možnosť áno. Ak potrebujete začať odznova, vyberte nie.
Prvýkrát, keď definujete akúkoľvek závislosť, Composer vytvorí priečinok vendor. Všetky závislosti sa inštalujú do tohto priečinka vendor. Composer tiež vytvorí súbor composer.lock. Tento súbor určuje presnú verziu každej závislosti a podzávislosti používanú vo vašom projekte. To zaručuje, že akýkoľvek počítač, na ktorom sa váš program spustí, bude používať presne tú istú verziu každého balíka.
Poznámka: Zložka vendor by nikdy nemala byť commitovaná do vášho systému správy verzií (VCS). Zložka vendor obsahuje iba balíčky, ktoré ste nainštalovali od iných dodávateľov. Títo jednotliví dodávatelia spravujú svoj kód vo svojich vlastných systémoch správy verzií. Mali by ste sledovať iba kód, ktorý sami píšete. Namiesto commitovania zložky vendor stačí commitovať iba súbory composer.json a composer.lock. Viac informácií o ignorovaní konkrétnych súborov sa dozviete v príručke How To Use Git: A Reference Guide.
Teraz, keď máte nainštalovaný PHP a spôsob, ako spravovať závislosti vášho projektu pomocou Composeru, ste pripravení otestovať svoje prostredie.
Krok 7 — Testovanie prostredia PHP
Vytvorte a spustite základný PHP skript na otestovanie vašej inštalácie:
nano hello.phpPridajte nasledujúci PHP kód:
<?php
echo 'Hello World!';
?>Uložte a zatvorte súbor (stlačte CTRL+X, potom Y a nakoniec ENTER). Spustite skript:
php hello.phpAk je PHP spracované správne, uvidíte iba znaky v úvodzovkách:
Hello World!PHP úspešne spracoval skript, čo znamená, že vaše prostredie PHP je úspešne nainštalované a ste pripravení pokračovať vo svojej programátorskej ceste.
Krok 8 — Nastavenie reálnych PHP projektov
Moderné PHP frameworky ako Laravel, Symfony a WordPress vyžadujú špecifické PHP rozšírenia a Composer. Nainštalujte framework pomocou Composer alebo inštalátora frameworku, potom nakonfigurujte svoj webový server tak, aby smeroval do verejného adresára projektu.
Nastavenie Laravelu
Nainštalujte Laravel pomocou Composer:
composer create-project laravel/laravel my-laravel-app
cd my-laravel-appTento príkaz stiahne Laravel a všetky jeho závislosti. Proces môže trvať niekoľko minút.
Laravel vyžaduje tieto PHP rozšírenia (nainštalované v Kroku 1):
php8.1-mbstring- Spracovanie viacbajtových reťazcovphp8.1-xml- spracovanie XMLphp8.1-curl- HTTP požiadavkyphp8.1-zip- Spracovanie archívovphp8.1-bcmath- Matematika s ľubovoľnou presnosťou
Ak Laravel hovorí „chýba mbstring“, aj keď ste ho nainštalovali:
To zvyčajne znamená, že rozšírenie je nainštalované, ale nie je načítané. Skontrolujte:
- Overte, či je rozšírenie nainštalované:
php -m | grep mbstring- Ak chýba, nainštalujte ho:
sudo apt install php8.1-mbstring- Ak je nainštalovaný, ale nezobrazuje sa, reštartujte webový server:
# For Apache
sudo systemctl restart apache2
# For PHP-FPM
sudo systemctl restart php8.1-fpm- Skontrolujte, ktorý súbor
php.inisa používa. Inštalátor Laravel používa CLI PHP, takže skontrolujte:
php --iniUistite sa, že rozšírenie je povolené v súbore php.ini v CLI.
Overovanie inštalácie Laravel:
Po dokončení inštalácie spustite vývojový server Laravelu:
php artisan serveMal by si vidieť:
INFO Server running on [http://127.0.0.1:8000]Navštívte http://localhost:8000 vo vašom prehliadači. Mali by ste vidieť úvodnú stránku Laravelu.
Pre prostredia podobné produkcii s Apache alebo Nginx:
Nakonfigurujte svoj webový server tak, aby smeroval do adresára public (nie do koreňa projektu). Súbor public/index.php v Laravel je vstupným bodom pre všetky požiadavky.
Poznámka: Viac sa o Laravel naučíte v našom návode Ako nainštalovať Laravel na Ubuntu.
Nastavenie WordPress
Stiahnite a rozbaľte 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/wordpressWordPress vyžaduje databázu MySQL alebo MariaDB. Nainštalujte MySQL, ak je to potrebné:
sudo apt install mysql-server
sudo mysql_secure_installationSkript mysql_secure_installation vás vyzve na:
- Nastavte koreňové heslo
- Odstrániť anonymných používateľov
- Zakázať vzdialené prihlásenie ako root
- Odstrániť testovaciu databázu
- Znova načítať tabuľky oprávnení
Vytvorte databázu a používateľa pre WordPress:
sudo mysql -u root -pV príkazovom riadku MySQL:
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 heslom. WordPress tieto prihlasovacie údaje použije na pripojenie k databáze.
Ak sa WordPress nedokáže pripojiť k databáze:
- Overte, či MySQL beží:
sudo systemctl status mysql- Otestujte pripojenie k databáze:
mysql -u wpuser -p wordpress_dbAk to zlyhá, skontrolujte:
- Používateľské meno a heslo sú správne
- Databáza existuje:
SHOW DATABASES; - Používateľ má oprávnenia:
SHOW GRANTS FOR 'wpuser'@'localhost';
- Skontrolujte, či je nainštalované rozšírenie MySQL pre PHP:
php -m | grep mysqlAk chýba, nainštalujte ho:
sudo apt install php8.1-mysql
sudo systemctl restart apache2 # or php8.1-fpm for NginxDokončenie inštalácie WordPress:
Nakonfigurujte svoj webový server tak, aby smeroval na /var/www/wordpress (pozrite Krok 2 pre Apache alebo Krok 3 pre Nginx). Navštívte stránku vo vašom prehliadači. WordPress vás vyzve, aby ste:
- Vyberte svoj jazyk
- Zadajte prihlasovacie údaje do databázy (použite databázu, používateľské meno a heslo, ktoré ste vytvorili)
- Dokončiť inštaláciu
Poznámka: Pre podrobnú inštaláciu WordPressu si pozrite Ako nainštalovať WordPress s LAMP na Ubuntu.
Nastavenie Symfony
Nainštalujte Symfony pomocou Composer:
composer create-project symfony/website-skeleton my-symfony-app
cd my-symfony-appSymfony vyžaduje rovnaké rozšírenia ako Laravel. Spustite vývojový server:
symfony server:startAlebo použite vstavaný server PHP:
php -S localhost:8000 -t publicAk inštalácia Symfony zlyhá kvôli chybám rozšírení:
Skontrolujte, či sú všetky potrebné rozšírenia nainštalované a načítané:
php -m | grep -E 'mbstring|xml|curl|zip|bcmath'Ak niektoré chýbajú, nainštalujte ich a reštartujte svoj webový server.
Krok 9 — Najlepšie postupy pre lokálny vývoj
Zabezpečte svoje lokálne prostredie, používajte systém kontroly verzií, nastavte správne oprávnenia súborov a nakonfigurujte nastavenia špecifické pre prostredie. Tieto postupy zabraňujú bezpečnostným problémom a uľahčujú vývoj.
Bezpečnostné úvahy
Aj pri lokálnom vývoji dodržiavajte najlepšie bezpečnostné postupy:
Zakázať nebezpečné PHP funkcie v produkcii: Funkcie ako
exec(),system()ashell_exec()by mali byť obmedzené v produkčných súborochphp.ini.Používajte premenné prostredia: Ukladajte citlivé konfigurácie do súborov
.env(nikdy ich nezverejňujte do verziovacieho systému). Laravel a Symfony to podporujú natívne.Nastavte správne oprávnenia súborov: Súbory webového servera by mali byť čitateľné používateľom webového servera, ale nemali by byť zapisovateľné:
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 {} \;Prečo sú tieto oprávnenia dôležité: Složky potrebujú 755 (čítanie, zápis, spustenie pre vlastníka; čítanie a spustenie pre ostatných), aby ich webový server mohol prechádzať. Súbory potrebujú 644 (čítanie a zápis pre vlastníka; iba čítanie pre ostatných), aby ich webový server mohol čítať, ale nemohol ich upravovať. To zabraňuje škodlivým skriptom prepísať vaše súbory.
Integrácia verzovacieho systému
Vždy používajte verzionovanie pre svoje PHP projekty. Inicializujte Git vo svojom projektovom adresári:
cd /var/www/your-project
git initVytvorte súbor .gitignore na vylúčenie nepotrebných súborov:
/vendor/
/node_modules/
.env
.DS_Store
*.logOptimalizácia výkonu
Pre lepší výkon v lokálnom vývoji:
Povoliť OPcache: OPcache je súčasťou PHP 8.1 a zlepšuje výkon ukladaním skompilovaného PHP kódu do vyrovnávacej pamäte.
Použite optimalizáciu autoloadera Composeru:
composer install --optimize-autoloader --no-dev- Konfigurujte PHP-FPM pooly pre lepšie riadenie zdrojov pri používaní Nginx.
Krok 10 — Riešenie bežných problémov
Bežné problémy pri inštalácii PHP zahŕňajú chýbajúce rozšírenia, nesprávne povolenia súborov, chyby konfigurácie webového servera a konflikty verzií. Väčšinu problémov je možné vyriešiť kontrolou inštalácie rozšírení, overením povolení súborov a prehliadnutím záznamov webového servera.
PHP rozšírenia sa nenačítavajú
Ak príkaz php -m nezobrazuje rozšírenie, ktoré ste práve nainštalovali:
- Overte, či je skutočne nainštalovaný:
dpkg -l | grep php8.1-extension_name- Skontrolujte, či existuje súbor rozšírenia:
ls /usr/lib/php/*/extension_name.so- Overte, či je to povolené v
php.ini. Niektoré rozšírenia je potrebné povoliť výslovne:
grep -i extension_name /etc/php/8.1/*/php.ini- Reštartujte svoj webový server:
# For Apache
sudo systemctl restart apache2
# For PHP-FPM
sudo systemctl restart php8.1-fpm- Skontrolujte, ktorý súbor
php.inisa používa:
php --iniUistite sa, že kontrolujete správny súbor php.ini (CLI vs webový server).
Ak sa rozšírenie stále nezobrazuje:
- Niektoré rozšírenia vyžadujú ďalšie systémové knižnice. Skontrolujte dokumentáciu rozšírenia.
- Overte si, či ste nainštalovali správnu verziu (php8.1-extension, nie php8.0-extension)
- Skontrolujte konfliktné verzie PHP, ktoré by mohli spôsobovať problémy
500 Chyba vnútorného servera
Chyba 500 znamená, že server narazil na problém, ale nemôže zobraziť podrobnosti. Skontrolujte protokoly chýb:
# 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.logBežné príčiny a riešenia:
- Nesprávne oprávnenia súborov: Súbory PHP musia byť čitateľné používateľom webového servera
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 {} \;Chýbajúce PHP rozšírenia: Skontrolujte protokol chýb pre správy ako „Volanie na nedefinovanú funkciu“. Nainštalujte chýbajúce rozšírenie a reštartujte webový server.
Syntaktické chyby v PHP súboroch: V zázname chýb sa zobrazí súbor a číslo riadku. Bežné problémy:
- Chýbajúce bodkočiarky
- Neuzavreté zátvorky alebo úvodzovky
- Používanie nedefinovaných funkcií alebo tried
Nesprávna konfigurácia webového servera:
- Apache: Skontrolujte konfiguráciu virtuálneho hostiteľa, načítanie modulov
- Nginx: Overenie cesty k socketu PHP-FPM, konfigurácia FastCGI
Prekročený limit pamäte PHP: Zvýšte
memory_limitvphp.ini, ak sa vám zobrazujú chyby „Vyčerpaná povolená veľkosť pamäte“
Konflikty verzií PHP
Ak php -v zobrazuje inú verziu, než ste očakávali, máte nainštalovaných viacero verzií PHP.
Skontrolujte, ktoré verzie sú nainštalované:
dpkg -l | grep php | grep -E 'php[0-9]'Použite správnu verziu výslovne:
php8.1 -v
php8.1 -mAktualizujte svoj webový server na používanie PHP 8.1:
Pre Apache vypnite ostatné PHP moduly a povoľte PHP 8.1:
sudo a2dismod php7.4 php8.0 # if they exist
sudo a2enmod php8.1
sudo systemctl restart apache2Pre PHP-FPM zastavte ostatné verzie a spustite 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-fpmNastavte PHP 8.1 ako predvolenú verziu pre CLI:
sudo update-alternatives --set php /usr/bin/php8.1Problémy s pamäťou kompozitora
Ak Composer vyčerpá pamäť, uvidíte chybu ako:
Fatal error: Allowed memory size of 134217728 bytes exhaustedOpraviť to spustením Composeru s väčšou pamäťou:
php -d memory_limit=512M /usr/local/bin/composer installAlebo zvýšte limit pamäte PHP v php.ini:
memory_limit = 512MAk inštalácia Composeru zlyhá kvôli nezhode hash hodnoty:
Overenie hash môže zlyhať, ak:
- Inštalátor bol aktualizovaný od vášho posledného stiahnutia (stiahnite znova, aby ste získali najnovší hash)
- Váš súbor na stiahnutie bol poškodený (skúste to stiahnuť znova)
- Ste za proxy serverom, ktorý upravuje súbory (skontrolujte svoje sieťové nastavenia)
Problémy s pripojením k databáze
Ak sa vaša PHP aplikácia nemôže pripojiť k MySQL/MariaDB, môžete vidieť chyby ako:
SQLSTATE[HY000] [2002] No such file or directoryalebo
Access denied for user 'username'@'localhost'Kroky na riešenie problémov:
- Skontrolujte, či je databázová služba spustená:
sudo systemctl status mysqlAk nefunguje, spustite ho:
sudo systemctl start mysql
sudo systemctl enable mysql- Skontrolujte, či je nainštalované rozšírenie MySQL pre PHP:
php -m | grep mysqlAk chýba, nainštalujte ho:
sudo apt install php8.1-mysql
sudo systemctl restart apache2 # or php8.1-fpm for Nginx- Overte poverenia a oprávnenia databázy. Otestujte pripojenie:
mysql -u username -p database_nameAk to zlyhá, skontrolujte:
- Používateľské meno a heslo sú správne
- Databáza existuje:
SHOW DATABASES; - Používateľ má oprávnenia:
SHOW GRANTS FOR 'username'@'localhost';
Poznámka: Pre nastavenie MySQL pozrite si Návod na inštaláciu MySQL na Ubuntu.
Súbor PHP sa zobrazuje ako obyčajný text namiesto vykonávania
Ak sa váš PHP súbor zobrazuje v prehliadači ako obyčajný text:
Skontrolujte príponu súboru: Musí to byť
.php, nie.txtalebo.htmlOveriť, či PHP spracováva súbory:
- Apache: Skontrolujte, či je povolený
mod_php:apache2ctl -M | grep php
- Apache: Skontrolujte, či je povolený
- Nginx: Skontrolujte, či PHP-FPM beží a či je cesta k socketu správna
Skontrolujte oprávnenia súboru: Webový server musí byť schopný súbor čítať
Overte, či súbor obsahuje PHP kód: Uistite sa, že začína
<?phpalebo<?Skontrolujte konfiguráciu webového servera:
- Apache: Virtuálny hostiteľ nemusí byť správne nakonfigurovaný
- Nginx: Blok
location ~ \.php$môže chýbať alebo byť nesprávny
Problémy s nahrávaním súborov
Ak sa nahrávanie súborov nepodarí, môže sa zobraziť chyba ako:
The uploaded file exceeds the upload_max_filesize directiveSkontrolujte tieto nastavenia php.ini:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300Dôležité: post_max_size musí byť väčšie ako upload_max_filesize. Ak nastavíte upload_max_filesize=100M, nastavte post_max_size=110M alebo viac.
Ak nahrávanie stále zlyháva:
- Skontrolujte protokol chýb pre konkrétne chybové hlásenia
- Overte, či adresár na nahrávanie existuje a je zapisovateľný:
sudo chmod 755 /path/to/upload/directory
sudo chown www-data:www-data /path/to/upload/directory- Skontrolujte miesto na disku:
df -h - Overte, či formulár používa
enctype="multipart/form-data"
Reštartujte svoj webový server po vykonaní zmien v php.ini.
Často kladené otázky
Ako nainštalujem PHP 8.1 na Ubuntu?
Nainštalujte PHP 8.1 pomocou správcu balíkov Ubuntu: sudo apt update && sudo apt install php8.1. PHP 8.1 je dostupné v predvolených repozitároch Ubuntu, takže nie sú potrebné žiadne ďalšie zdroje balíkov.
Ktoré rozšírenia PHP sú nevyhnutné pre vývoj?
Základné rozšírenia zahŕňajú 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. Tieto pokrývajú pripojenie k databáze, HTTP požiadavky, prácu s reťazcami a spracovanie obrázkov.
Ako nakonfigurovať PHP s Apache alebo Nginx?
Pre Apache nainštalujte libapache2-mod-php8.1 a povolte ho pomocou sudo a2enmod php8.1. Pre Nginx nainštalujte php8.1-fpm a nakonfigurujte Nginx tak, aby posielal PHP požiadavky na socket PHP-FPM pomocou FastCGI.
Ako môžem overiť, či je PHP správne nainštalované?
Spustite php -v na kontrolu verzie PHP. Vytvorte testovací súbor s <?php phpinfo(); ?> a pristúpte k nemu cez váš webový server, aby ste videli podrobné informácie o konfigurácii PHP.
Môžem spustiť Laravel alebo WordPress lokálne s týmto nastavením?
Áno. Laravel vyžaduje Composer a štandardné PHP rozšírenia uvedené vyššie. WordPress okrem PHP potrebuje databázu MySQL. Obe platformy fungujú s konfiguráciami Apache aj Nginx.
Ako nainštalovať Composer pre PHP projekty?
Stiahnite si inštalátor Composer, overte jeho hash a nainštalujte ho globálne: sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer. Overte príkazom composer --version.
Ako vyriešiť problémy s chýbajúcimi rozšíreniami PHP?
Skontrolujte nainštalované rozšírenia pomocou php -m. Chýbajúce rozšírenia nainštalujte pomocou sudo apt install php8.1-názov_rozšírenia a potom reštartujte svoj webový server.
Ako nastavím hlásenie chýb PHP pre vývoj?
Upravte php.ini a nastavte display_errors=On, error_reporting=E_ALL a log_errors=On. Nezabudnite zakázať zobrazovanie chýb v produkčnom prostredí.
Aký je rozdiel medzi Apache a Nginx pre PHP?
Apache používa mod_php na priame spracovanie PHP (PHP je vložené do procesu Apache), zatiaľ čo Nginx vyžaduje PHP-FPM (FastCGI Process Manager) na spracovanie PHP požiadaviek (PHP beží ako samostatná služba). Pozrite si časť „Výber medzi Apache a Nginx“ vyššie pre podrobnú porovnávaciu tabuľku. Obe prístupy fungujú dobre; vyberte si podľa vašich požiadaviek na výkon, znalosti a existujúcu infraštruktúru.
Môžem na rovnakom systéme nainštalovať viacero verzií PHP?
Áno, používaním nástrojov ako phpenv alebo phpbrew. Avšak pre väčšinu vývojových scenárov stačí jedna verzia PHP. Správcov verzií používajte, keď potrebujete testovať aplikácie proti rôznym verziám PHP.
Záver
Teraz máte plne nakonfigurované vývojové prostredie PHP 8.1 na Ubuntu s podporou pre webové servery Apache aj Nginx. Vaše nastavenie zahŕňa základné rozšírenia PHP, Composer na správu závislostí a správnu konfiguráciu pre lokálny vývoj.
Pred začatím ďalšieho projektu zvážte nastavenie integrovaného vývojového prostredia (IDE) ako VS Code s rozšíreniami pre PHP na zvýraznenie syntaxe, ladenie a podporu IntelliSense.
Keď máte svoje prostredie pripravené, môžete sa ďalej venovať vývoju v PHP:
- Naučte sa základy PHP s návodom Ako pracovať s reťazcami v PHP
- Vytvárajte API pomocou Návod na používanie webových API v PHP
- Pochopte funkcie v návode Ako používať funkcie v PHP
- Nastavte databázy s Návodom na inštaláciu a používanie PostgreSQL na Ubuntu
Pre produkčné nasadenia zvážte použitie platformy Linux-Console.net App Platform na nasadenie vašich PHP aplikácií priamo z GitHub s automatickým škálovaním a SSL certifikátmi.
Ďakujeme, že sa učíte s komunitou Linux-Console.net.

