
CentOS 7 je dodáván s verzí PHP 5.4, která je již nějakou dobu oficiálně EOL a již není podporována.
Při použití PHP 7 se vaše aplikace budou načítat rychleji a spotřebovávají méně systémových prostředků.
V tomto tutoriálu vysvětlíme, jak nainstalovat nebo upgradovat na PHP 7.0. 7.1, 7.2 a 7.3 na systému CentOS 7. Také vám ukážeme, jak integrovat PHP s Nginx a Apache.
Před instalací konkrétní verze PHP 7.x se také ujistěte, že ji vaše aplikace podporuje.
Předpoklady #
Než začnete s tímto výukovým programem, ujistěte se, že jste přihlášeni k serveru pomocí uživatelského účtu s právy sudo nebo s uživatelem root. Nejlepší je spouštět administrativní příkazy jako uživatel sudo namísto root. Pokud ve svém systému nemáte uživatele sudo, můžete si jej vytvořit podle těchto pokynů.
Povolení úložiště Remi #
Balíčky PHP 7.x jsou dostupné v několika různých úložištích. Budeme používat úložiště Remi, které poskytuje novější verze různých softwarových balíčků včetně PHP.
Úložiště Remi závisí na úložišti EPEL. Chcete-li povolit úložiště EPEL i Remi, spusťte následující příkazy:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Yum vás může vyzvat k importu klíče GPG úložiště. Zadejte y
a stiskněte Enter
.
V následujících částech se budeme zabývat tím, jak nainstalovat PHP 7.x povolením příslušného úložiště Remi. Pokud již máte na svém systému nainstalované PHP 5.4 yum
aktualizuje balíčky PHP.
Instalace PHP 7.3 na CentOS 7 #
PHP 7.3 je nejnovější stabilní verze PHP. Většina moderních PHP frameworků a aplikací včetně WordPress, Drupal, Joomla a Laravel plně podporuje PHP 7.3.
Chcete-li nainstalovat PHP 7.3 na CentOS 7, postupujte podle následujících kroků.
-
Začněte povolením úložiště PHP 7.3 Remi:
sudo yum-config-manager --enable remi-php73
-
Nainstalujte PHP 7.3 a některé z nejběžnějších modulů PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
Ověřte instalaci PHP zadáním následujícího příkazu, který vytiskne verzi PHP:
php -v
PHP 7.3.1 (cli) (built: Jan 8 2019 13:55:51) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies
Instalace PHP 7.2 na CentOS 7 #
PHP 7.2 používejte pouze v případě, že se chystáte instalovat aplikace jako Magento 2, které nejsou kompatibilní s PHP 7.2.
Následující kroky popisují, jak nainstalovat PHP 7.2 CentOS 7.
-
Nejprve povolte úložiště PHP 7.2 Remi spuštěním následujícího příkazu:
sudo yum-config-manager --enable remi-php72
-
Jakmile je úložiště povoleno, nainstalujte PHP 7.2 a několik nejběžnějších modulů PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
Ověřte instalaci PHP:
php -v
PHP 7.2.9 (cli) (built: Aug 15 2018 09:19:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
Instalace PHP 7.1 na CentOS 7 #
Při instalaci PHP 7.1 postupujte podle níže uvedených kroků.
-
Povolte úložiště PHP 7.1 zadáním:
sudo yum-config-manager --enable remi-php71
-
Nainstalujte PHP 7.1 a několik nejběžnějších modulů PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
-
Pro ověření instalace spusťte následující příkaz, který vytiskne verzi PHP:
php -v
PHP 7.1.21 (cli) (built: Aug 15 2018 17:56:55) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.21, Copyright (c) 1999-2018, by Zend Technologies
Konfigurace PHP 7.x pro práci s Apache #
Pokud používáte webový server Apacheas, stačí restartovat službu Apache pomocí následujícího příkazu a můžete začít:
sudo systemctl restart httpd
Konfigurace PHP 7.x pro práci s Nginx #
Na rozdíl od Apache nemá Nginx vestavěnou podporu pro zpracování souborů PHP, takže musíme nainstalovat samostatnou aplikaci, jako je PHP FPM, která bude zpracovávat soubory PHP.
Chcete-li nainstalovat balíček PHP FPM, spusťte následující příkaz:
sudo yum install php-fpm
Ve výchozím nastavení PHP FPM poběží jako uživatel apache
na portu 9000. Změníme uživatele na nginx
a přepněte z TCP socketu na Unix socket. Chcete-li tak učinit, upravte žlutě zvýrazněné řádky:
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Ujistěte se, že /var/lib/php
adresář má správné vlastnictví:
chown -R root:nginx /var/lib/php
Jakmile provedete změny, povolte a spusťte službu PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Dále upravte direktivu virtuálního hostitele Nginx a přidejte následující blok umístění, 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;
}
}
Aby se nová konfigurace projevila, restartujte službu Nginx:
sudo systemctl restart nginx