PHP je populární, bezplatný a opensource skriptovací jazyk používaný především pro vývoj webových aplikací. V současné době je aktuální verze PHP (v době psaní tohoto návodu) PHP 7.3.14. CentOS 7 se však standardně dodává s PHP 5.4.
PHP 5.4 konečně skončilo v září 2015 a již není podporováno hlavními platformami, jako je WordPress, cPanel a WHM. Naštěstí nyní máme PHP 7 a nejnovější, což je PHP 7.3, které je plně kompatibilní s většinou aplikací.
V tomto tutoriálu se dozvíte, jak nainstalovat PHP 7 na CentOS 7. Abychom byli konkrétnější, dozvíte se, jak nainstalovat PHP 7.1, 7.2 a 7.3. Poté si ukážeme, jak můžete integrovat PHP 7 se servery Apache a Nginx.
Předpoklady
Před čímkoli jiným se přihlaste na svůj server jako běžný uživatel s právy sudo. Toto je nejvíce doporučený způsob na rozdíl od spouštění příkazů jako uživatel root.
Povolit úložiště Remi
Úložiště Remi je bezplatné a oblíbené úložiště třetích stran, které dodává nejnovější a nejmodernější balíčky, které nejsou dostupné ve vašem systému CentOS 7.
Úložiště Remi závisí na EPEL (Extra Packages for Enterprise Linux), proto se musíte ujistit, že Remi i EPEL existují.
Proto spusťte níže uvedený příkaz a nainstalujte EPEL pomocí příkazu yum.
$ sudo yum install epel-release yum-utils
Chcete-li nainstalovat Remi, spusťte následující příkaz:
$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
S již nainstalovanými EPEL a Remi, pojďme nyní pokračovat a nainstalovat PHP 7 na CentOS 7.
Nainstalujte PHP 7.3 na CentOS 7
Začněme instalací PHP 7.3, což je nejnovější verze PHP v době psaní tohoto článku. Toto je nejnovější verze a je dodávána s nejnovějšími systémy pro správu obsahu, jako jsou WordPress a Joomla, a frameworky jako Laravel.
Krok 1:Povolte úložiště PHP 7.3 Remi
Chcete-li povolit PHP 7.3 Remi repo, spusťte následující příkaz:
$ sudo yum-config-manager --enable remi-php73
Krok 2:Nainstalujte PHP 7.3 a související moduly
S povoleným php 7.3 Remi nyní nainstalujte PHP 7.3 a jeho moduly, jak je znázorněno:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
Po dokončení instalace můžete ověřit verzi PHP pomocí příkazu:
$ php -v
Nainstalujte PHP 7.2 na CentOS 7
Při instalaci PHP 7.2 CentOS 7 se ujistěte, že jste postupovali podle následujících kroků:
Krok 1:Povolte úložiště PHP 7.2 Remi
Jak jsme viděli dříve, začněte povolením úložiště Remi pro PHP 7.2
$ sudo yum-config-manager --enable remi-php72
Krok 2:Nainstalujte PHP 7.2 a související moduly PHP
Dále nainstalujte PHP 7.2 a související moduly podle obrázku:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
Až budete vyzváni k importu GPG, jednoduše stiskněte y a stiskněte ENTER
Po dokončení instalace ověřte verzi PHP pomocí příkazu:
$ php -v
Nainstalujte PHP 7.1 na CentOS 7
Nakonec nainstalujeme PHP 7.1. Jak jsme viděli v předchozích 2 verzích, postupujte podle následujících kroků:
Krok 1:Povolte úložiště PHP 7.1 Remi
Jak jsme viděli dříve, začněte povolením úložiště Remi pro PHP 7.1
$ sudo yum-config-manager --enable remi-php71
Krok 2:Nainstalujte PHP 7.1 a související moduly PHP
Po povolení úložiště Remi pokračujte a nainstalujte PHP 7.1 pomocí příkazu:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
Až budete vyzváni k importu klíče GPG, zadejte y a stiskněte ENTER
Pro ověření instalace spusťte příkaz:
$ php -v
Nakonfigurujte PHP 7.x pro práci s webovým serverem Apache
Pokud je vaším oblíbeným webovým serverem Apache, jednoduše restartujte službu Apache a cesta pro vás bude hladká. Nejsou potřeba žádné další nebo složité konfigurace.
$ sudo systemctl restart httpd
Nakonfigurujte PHP 7.x pro práci s webovým serverem Nginx
Na rozdíl od Apache není konfigurace Nginx s PHP 7.x tak přímočará, jak si myslíte. Nginx postrádá podporu pro zpracování souborů PHP, a proto musíme nainstalovat další sadu balíčků nazvaných PHP FPM, které budou zpracovávat soubory PHP.
Chcete-li nainstalovat balíček PHP FPm, spusťte příkaz:
$ sudo yum install php-fpm
Po instalaci přejděte do konfiguračního souboru na adrese /etc/php-fpm.d/www.conf
Zjistíte, že existuje uživatel s názvem 'apache' naslouchající portu 9000. Změníme tohoto uživatele na 'nginx' a později upravíme řádky, jak je uvedeno níže.
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Dále nastavte správné vlastnictví souboru /var/lib/php
pomocí příkazu chown, jak je znázorněno:
$ sudo chown -R root:nginx /var/lib/php
Poté povolte a spusťte php-fpm podle obrázku:
$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm
Ověřte stav spuštěním:
$ sudo systemctl status php-fpm
Pokud jste nakonfigurovali svůj blok Nginx, musíte přidat následující konfigurační řádky, aby Nginx mohl zpracovávat soubory PHP:
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
A nakonec restartujte webový server, aby se změny projevily
$ sudo systemctl restart nginx
Závěr
A je to, lidi! Ukázali jsme, jak můžete nainstalovat různé verze PHP 7 na CentOS 7 a později, jak můžete nakonfigurovat různé webové servery pro zpracování souborů PHP. Apache je docela hračka, ale musíte věnovat více pozornosti webovému serveru Nginx. Děkujeme za váš čas.