PHP 8.1 je aktuální nejnovější verze PHP vydaná v roce 2021. V této příručce se dozvíte, jak nainstalovat nejnovější verzi PHP, která je aktuálně 8.1, na váš systém nebo server Ubuntu 22.04 a nakonfigurovat jej pomocí Apache a Nginx. Ve výchozím nastavení se Ubuntu 22.04 dodává s PHP 8.1, můžete jej snadno nainstalovat. Dozvíte se také, jak nainstalovat jinou verzi PHP a downgradovat nebo upgradovat verzi PHP na nejnovější nebo předchozí.
Tento tutoriál vás také provede konfigurací nastavení PHP INI, nastavení FPM, fondů atd., což je užitečnější pro bezproblémový chod vaší aplikace.
Tato instalace je testována na Google Cloud Platform s instancí Compute Compute Engine VM s OS Ubuntu 22.04. Toto nastavení bude fungovat na všech serverech Linux.
Předpoklady
Základní znalost používání SSH Terminal na Linuxu.
Začínáme
Spuštěním následujícího příkazu se ujistěte, že váš server Ubuntu má nejnovější balíčky.
sudo apt update
sudo apt upgrade
Tím se aktualizuje index balíčků a nainstalované balíčky na nejnovější verzi.
Přidat PHP PPA
Toto je volitelné nastavení, pokud chcete nainstalovat PHP 8.1. Chystáte se však nainstalovat jakékoli nižší verze verzí PHP, jako je 7.4, musíte přidat tuto PPA.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Toto přidejte pouze v případě, že se chystáte nainstalovat jinou verzi PHP než verzi 8.1.
Instalace PHP 8.1 pro Apache
Provedením následujícího příkazu nainstalujte PHP 8.1.
sudo apt install php8.1
Po dokončení instalace můžete instalaci potvrdit pomocí následujícího příkazu
php -v
Instalace PHP 8.1 FPM pro Nginx
Pro Nginx musíte nainstalovat FPM. Provedením následujícího příkazu nainstalujte PHP 8.1 FPM
sudo apt install php8.1-fpm
Po dokončení instalace ověřte, že se PHP 8.1 FPM správně nainstalovalo pomocí tohoto příkazu
php-fpm8.1 -v
Instalovat rozšíření PHP 8.1
Instalace rozšíření PHP je jednoduchá s následující syntaxí.
sudo apt install php8.1-extension_name
Nyní nainstalujte některé běžně používané php-extensions
pomocí následujícího příkazu.
sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl -y
Ověřte verzi PHP
Verzi PHP můžete snadno ověřit pomocí níže uvedeného příkazu.
php -v
Output PHP 8.1.5 (cli) (built: Apr 21 2022 10:32:13) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.5, Copyright (c) Zend Technologies with Zend OPcache v8.1.5, Copyright (c), by Zend Technologies
Nakonfigurujte PHP 8.1
Nyní nakonfigurujeme PHP pro webové aplikace změnou některých hodnot v php.ini
soubor.
Pro PHP 8.1 s Apache je php.ini
umístění bude v následujícím adresáři.
sudo nano /etc/php/8.1/apache2/php.ini
Pro PHP 8.1 FPM s Nginx php.ini
umístění bude v následujícím adresáři.
sudo nano /etc/php/8.1/fpm/php.ini
Stiskněte F6
pro vyhledávání v editoru a pro lepší výkon aktualizujte následující hodnoty.
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Jakmile upravíte nastavení PHP, musíte restartovat Apache, aby se změny projevily.
Pro uživatele s Nginx, kteří používají PHP-FPM, musíte restartovat PHP-FPM.
sudo service php8.1-fpm restart
Konfigurace fondů PHP 8.1 FPM
PHP-FPM umožňuje konfigurovat user
a group
pod kterým služba poběží. Můžete je upravit pomocí těchto příkazů
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Pokud chcete změnit uživatelské jméno, můžete změnit následující řádky nahrazením www-data s vaším username
.
user = username group = username listen.owner = username listen.group = username
Stiskněte CTRL+X
a Y
uložte konfiguraci a zkontrolujte, zda je konfigurace správná, a restartujte PHP.
Restartujte PHP 8.1 FPM
Jakmile aktualizujete nastavení PHP FPM, musíte jej restartovat, aby se změny projevily.
sudo php-fpm8.1 -t sudo service php8.1-fpm restart
Nyní máte nainstalované a nakonfigurované PHP 8.1.
Připravte se na roli odborníka na informační technologie s operačním systémem Linux
Upgrade/downgrade PHP v CLI
Když měníte verzi PHP pro své webové aplikace, budete také muset změnit verzi PHP ve vašem CLI (Command Line Interface).
Provedením níže uvedeného příkazu změňte verzi PHP na vašem CLI. V interaktivním režimu budete vyzváni k výběru verze PHP.
There are 3 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/php8.1 81 auto mode 1 /usr/bin/php7.4 74 manual mode 2 /usr/bin/php8.0 80 manual mode 3 /usr/bin/php8.1 81 manual mode Press <enter> to keep the current choice[*], or type selection number:
Zadejte svou volbu a stiskněte ENTER.
Upgrade/downgrade PHP pro Apache
Pokud chcete použít jinou verzi PHP, můžete upgradovat nebo downgradovat na jinou verzi PHP, jak je uvedeno níže..
Musíte říci Apache, aby používal správnou verzi PHP, kterou jste právě nainstalovali. Vypněte starý modul PHP (níže jsem zmínil php 8.1, musíte použít svou jinou verzi php používanou Apache ) a povolte nový modul PHP pomocí následujícího příkazu.
Nahraďte aktuální povolenou verzi PHP svou verzí.
sudo a2dismod php8.1 sudo a2enmod php7.4
Restartujte Apache, aby se změny projevily.
sudo service apache2 restart
Upgrade/downgrade PHP pro Nginx
Pro Nginx musíte aktualizovat nebo downgradovat PHP-FPM socket ve vaší konfiguraci Nginx umístěné uvnitř sites-available
adresář. Toto bude umístěno uvnitř location
blok location ~ .php$
Upravte konfiguraci…
sudo nano /etc/nginx/sites-available/your.conf
Řádek, který potřebujete upravit, bude vypadat takto…
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
Musíte nahradit starou verzi PHP novou verzí.
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
Otestujte svou konfiguraci.
sudo nginx -t
Uložte soubor a ukončete editor a restartujte Nginx, aby se změny projevily.
sudo service nginx restart
Závěr
Nyní jste se naučili, jak nainstalovat PHP 8.1 na váš server Ubuntu 22.04 pro Apache a Nginx a také jak upgradovat nebo downgradovat na jinou verzi PHP.
Díky za váš čas. Pokud narazíte na jakýkoli problém nebo zpětnou vazbu, zanechte prosím níže komentář.