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.confPoté 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.confPokud 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.inised -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /opt/php-7.4/lib/php.ini3.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.services 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.targetPovolte službu a znovu načtěte systemd:
systemctl enable php-7.4-fpm.service
systemctl daemon-reloadNakonec spusťte PHP-FPM.
systemctl start php-7.4-fpm.serviceChcete-li povolit Zend OPcache:
echo zend_extension=opcache.so>> /opt/php-7.4/lib/php.ini3.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 memcacheda povolit memache
echo extension=memcached.so>> /opt/php-7.4/lib/php.ini3.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 xdebuga 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.iniNakonec restartujte démona php-fpm:
systemctl start php-7.4-fpm.serviceOtestujte 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/libPoté 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
5 odkazů
- PHP:http://www.php.net/
- ISPConfig:http://www.ispconfig.org/
- Debian:http://www.debian.org/