Situace: Používáme Linux webserver s PHP 7, konkrétně používáme distribuci CentOS a balíček rh-php71-fpm. PHP je spouštěné jako modul webserveru Apache (Server API = Apache 2.0 Handler). Nyní chceme nastavit, aby PHP bylo obsluhované přes protokol FastCGI (Server API = FPM/FastCGI ) pomocí balíčku php-fpm (zde rh-php71-fpm), což nám přinese zrychlení zpracování PHP skriptů a zefektivnění výkonu (zpracuje se více webových požadavků).
yum install rh-php71-fpm
vim /etc/httpd/conf.modules.d/00-mpm.conf (edit částí souboru)
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule mpm_worker_module modules/mod_mpm_worker.so
vim /etc/httpd/conf.d/php.conf (obsah celého souboru)
<Proxy "unix:/var/run/php-fpm/default.sock|fcgi://php-fpm">
ProxySet disablereuse=off
</Proxy>
<FilesMatch \.php$>
SetHandler proxy:fcgi://php-fpm
</FilesMatch>
AddType text/html .php
DirectoryIndex index.phpvim /etc/opt/rh/rh-php71/php-fpm.d/www.conf (edit částí souboru)
user = apache group = apache ; listen = 127.0.0.1:9000 listen = /var/run/php-fpm/default.sock listen.owner = apache listen.group = apache listen.mode = 0660
mkdir -p /var/run/php-fpmsystemctl enable rh-php71-php-fpmsystemctl restart rh-php71-php-fpmsystemctl httpd
Pokud je vše v pořádku, tak byste měli pomocí phpinfo() vidět Server API = FPM/FastCGI.
Pokud se tim zabyvas budu rad za pripadne vysvetleni.