GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zkompilovat a nainstalovat PHP 7.4 jako PHP-FPM &FastCGI pro ISPConfig 3 na Ubuntu 18.04 LTS

Ubuntu 18.04 se dodává s PHP 7.2 jako výchozí verzí PHP. Hlavní verze PHP nejsou vzájemně 100% kompatibilní, takže web může ke svému fungování vyžadovat novější nebo starší verzi PHP. ISPConfig podporuje použití více verzí PHP na stejném serveru, verzi PHP lze vybrat pro každý web zvlášť v nastavení webu. Tento tutoriál ukazuje, jak nainstalovat PHP 7.4 jako režim FPM a FCGI spolu s PHP 7.2 na server Ubuntu 18. Další verze PHP jsou nainstalovány ve složce /opt, takže jejich instalace neovlivní výchozí verzi PHP

1 předběžná poznámka

Nainstaluji PHP 7.4. Upozorňujeme, že PHP-FPM lze použít na serverech Apache i Nginx, zatímco FastCGI je k dispozici pouze pro servery Apache.

2 Nainstalujte předpoklady

Nainstalujte si předpoklady pro sestavení PHP a nano editor, který budu používat k úpravě konfiguračních souborů:

apt -y install build-essential nano net-tools autoconf
apt -y install libfcgi-dev libfcgi0ldbl libjpeg-turbo8-dev libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libsl-dev libbz2-dev libsl-dev libpjdev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev libzip-dev libsqlite3-dev libonig-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
cd /usr/include
ln -s x86_64-linux-gnu/curl

(Poslední příkaz je nutný, pokud vytváříte PHP s --with-imap, protože jinak se ./configure zastaví s následující chybou:

kontrola crypt v -lcrypt... yes
configure:error:Nelze najít knihovnu imap (libc-client.a). Zkontrolujte prosím instalaci svého c-klienta.
[e-mail chráněn]:/tmp/php-7.4.0

)

3 Zkompilujte PHP 7.4 jako PHP-FPM a Fastcgi

Stáhněte a rozbalte archiv PHP:

cd /tmp
wget https://www.php.net/distributions/php-7.4.0.tar.gz
tar xfz php-7.4.0.tar.gz
cd php-7.4.0

Nakonfigurujte a sestavte PHP 7.4 následovně (příkaz ./configure si můžete upravit podle svých potřeb, podívejte se na

./configure --help

zobrazit všechny dostupné možnosti; pokud použijete jiný příkaz ./configure, je možné, že budou vyžadovány další knihovny nebo proces sestavení selže):

./configure --prefix=/opt/php-7.4 --with-pdo-pgsql --with-zlib-dir --with-freetype --enable-mbstring --enable-soap --enable-calendar --with-curl --with-zlib --enable-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable -sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --with-zip --with-pdo-mysql --with-mysqli - -with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data - -with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-intl --with-pear --enable-fpm

Poslední přepínač (--enable-fpm) zajišťuje, že tato verze PHP bude fungovat s PHP-FPM.

provést
provést instalaci

Zkopírujte soubory do správných umístění:

cp php.ini-production /opt/php-7.4/lib/php.inicp /opt/php-7.4/etc/php-fpm.conf.default /opt/php-7.4/etc/php-fpm. confcp /opt/php-7.4/etc/php-fpm.d/www.conf.default /opt/php-7.4/etc/php-fpm.d/www.conf

Upravte /opt/php-7.4/etc/php-fpm.conf

sed -i 's/;pid =run\/php-fpm.pid/pid =run\/php-fpm.pid/g' /opt/php-7.4/etc/php-fpm.conf 

Poté aktualizujte /opt/php-7.4/etc/php-fpm.d/www.conf:

cp /opt/php-7.4/etc/php-fpm.d/www.conf.default /opt/php-7.4/etc/php-fpm.d/www.conf

Pokud již máte nainstalované další verze PHP, zkontrolujte, zda port již není používán:

netstat -tapn | grep -E ".*899.*php-fpm"

Pokud jako webový server používáte nginx, upravte /opt/php-7.4/lib/php.ini:

sed -i 's/;date.timezone =/date.timezone ="Evropa\/Berlín"/g' /opt/php-7.4/lib/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /opt/php-7.4/lib/php.ini

3.1 Vytvořte soubor systemd unit

Dále vytvoříme soubor systémové jednotky, který se používá ke spuštění a zastavení démona PHP-FPM.

nano /lib/systemd/system/php-7.4-fpm.service

s následujícím obsahem:

[Unit]
Description=Správce procesů PHP 7.4 FastCGI
After=network.target

[Služba]
Typ=jednoduchý
soubor PIDF =/opt/php-7.4/var/run/php-fpm.pid
ExecStart=/opt/php-7.4/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.4/ etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

Povolte službu a znovu načtěte systemd:

systemctl enable php-7.4-fpm.service
systemctl daemon-reload

Nakonec spusťte PHP-FPM.

systemctl start php-7.4-fpm.service

Chcete-li povolit Zend OPcache:

echo zend_extension=opcache.so>> /opt/php-7.4/lib/php.ini

3.2 Povolit Memcache (volitelné)

Nainstalujte memcache pomocí těchto příkazů.

cd /opt/php-7.4/etc
../bin/pecl -C ./pear.conf update-channels
../bin/pecl -C ./pear.conf install memcached

a povolit memache

echo extension=memcached.so>> /opt/php-7.4/lib/php.ini

3.3 Instalace rozšíření xDebug (volitelné)

Modul xDebug je ladicí rozšíření pro PHP. Instalace je volitelná.

Nainstalujte xDebug pomocí těchto příkazů.

cd /opt/php-7.4/etc
../bin/pecl -C ./pear.conf update-channels
../bin/pecl -C ./pear.conf install xdebug

a povolit xDebug

echo zend_extension=/opt/php-7.4/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so>> /opt/php-7.4/lib/php.ini

Nakonec restartujte démona php-fpm:

systemctl start php-7.4-fpm.service

Otestujte verzi PHP:

cd /opt/php-7.4/bin
./php --version

3.4 Povolení PHP 7.4 v ISPConfig

V ISPConfig 3.1 můžete nakonfigurovat novou verzi PHP v části Systém> Další verze PHP. Na záložce Název pouze vyplníte název pro verzi PHP (např. PHP 7.4) - tato verze PHP bude pod tímto názvem uvedena v nastavení webu v ISPConfig:

Přejděte na kartu Nastavení FastCGI a vyplňte pole následovně:

Cesta k binárnímu PHP FastCGI: /opt/php-7.4/bin/php-cgi
Cesta k adresáři php.ini: /opt/php-7.4/lib
 

Poté přejděte na kartu Nastavení PHP-FPM a vyplňte pole následovně:

Cesta k iniciačnímu skriptu PHP-FPM: php-7.4-fpm
Cesta k adresáři php.ini: /opt/php-7.4/lib
Cesta k adresáři fondu PHP-FPM: /opt/php-7.4/etc/php-fpm.d
 

  • PHP:http://www.php.net/
  • ISPConfig:http://www.ispconfig.org/
  • Debian:http://www.debian.org/

Ubuntu
  1. Jak nainstalovat PHP 7.4 a 8.0 na Ubuntu 18.04 nebo 20.04

  2. Jak nainstalovat PHP 5.6 na Ubuntu 16.04 LTS

  3. Jak nainstalovat PHP 7.4 na Ubuntu 20.04 LTS

  1. Jak nainstalovat PHP 7 (PHP-FPM &FastCGI) pro ISPConfig 3 na Debian 8 (Jessie)

  2. Jak nainstalovat PHP 7 jako PHP-FPM &FastCGI pro ISPConfig 3 na Debian 8 (Jessie)

  3. Jak nainstalovat Drupal 8.1 s Nginx, PHP-FPM a SSL na Ubuntu 16.04

  1. Jak nainstalovat PHP 5.6 jako další PHP-FPM &FastCGI pro ISPConfig 3.1 na Ubuntu 16.04

  2. Jak nainstalovat PHP 7.1.16 jako PHP-FPM &FastCGI pro ISPConfig 3.1 na Debian 8 (Jessie)

  3. Jak nainstalovat PHP 7.1, 7.2 a 5.6 jako PHP-FPM &FastCGI pro ISPConfig 3 na Debian 9