Přidání další verze PHP nemusí být úplně jednoduché a ne vždy se to povede. Tento proces není složitý, nicméně provedení kompilace a instalace nějaký ten čas zabere. Tento díl předpokládá, že máte nainstalovány základy jako je třeba editor nano. Pro instalaci základů mrkněte na náš starší díl: Instalace základů pro instalaci dalších verzí PHP.
Jako první začneme vytvořením složky, do které stáhneme instalační archív a v ní ho následně rozbalíme.
mkdir /usr/local/src/php7.1-build
cd /usr/local/src/php7.1-build
wget http://de2.php.net/get/php-7.1.14.tar.bz2/from/this/mirror -O php-7.1.14.tar.bz2
tar jxf php-7.1.14.tar.bz2
A teď nakonfigujeme a následně vytvoříme PHP 7.1 – můžete si nastavit konfiguraci jinak, volby zjistíte následujícím příkazem
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).
Poslední přepínač (–enable-fpm) zajišťuje, že tato verze PHP bude pracovat s PHP-FPM.
make install
Zkopírujte php.ini a php-fpm.conf na správná místa:
cp /opt/php-7.1/etc/php-fpm.d/www.conf.default /opt/php-7.1/etc/php-fpm.d/www.conf
Otevřete /opt/php-7.1/etc/php-fpm.conf a upravte následující nastavení (odeberte ; před řádkem pid):
[...] pid = run/php-fpm.pid [...]
Poté otevřete /opt/php-7.1/etc/php-fpm.d/www.conf a upravte „poslouchací“ řádek, musíte použít nevyužitý port (např. 8999; port 9000 může být používán již výchozím PHP-FPM Debianu):
[...] listen = 127.0.0.1:8999 [...]
Dále vytvoříme službu, která se používá ke spuštění a zastavení démona PHP-FPM.
a vložíme do ní tento celý kód:
[Unit] Description=The PHP 7.1 FastCGI Process Manager After=network.target [Service] Type=simple PIDFile=/opt/php-7.1/var/run/php-fpm.pid ExecStart=/opt/php-7.1/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.1/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target
Povolíme službu a znovu načteme systémd:
systemctl daemon-reload
Nakonec spustíme:
Chcete-li povolit Zend OPcache, otevřete /opt/php-7.1/lib/php.ini
a na konec přidáme tento řádek:
zend_extension=opcache.so
Dále zkompilujeme a povolíme rozšíření PHP Memcached. Prvním krokem je instalace balíčku libmemcached-dev z Debianu.
Poté vytvořte složku, do které stáhněte rozšíření PHP memcache z Githubu, rozbalte archiv a přesuňte se do adresáře, který obsahuje rozbalené soubory.
cd /usr/local/src/php7.1-build/php-memcache
wget https://github.com/php-memcached-dev/php-memcached/archive/php7.zip
unzip php7.zip
cd php-memcached-php7
Připravte zdroje spuštěním příkazu phpize z PHP 7.1.
Nakonfigurujte a vytvořte rozšíření PHP memcache.
make
make install
Chcete-li povolit rozšíření Memcache, otevřete /opt/php-7.1/lib/php.ini
a na konec přidejte řádek:
extension=memcached.so
Modul xDebug je ladicí rozšíření pro PHP. Instalace je volitelná.
Nainstalujte xDebug těmito příkazy:
../bin/pecl -C ./pear.conf update-channels
../bin/pecl -C ./pear.conf install xdebug
Poté upravte soubor php.ini pomocí editoru:
a na konec souboru přidejte následující řádek:
nakonec restartujte službu:
Vyzkoušejte verzi PHP:
./php --version
PHP 7.1.14 (cli) (built: Aug 6 2020 23:53:44) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.14, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.9.6, Copyright (c) 2002-2020, by Derick Rethans
V ISPConfig 3.1 můžete novou verzi PHP nakonfigurovat v části Systém –> Další verze PHP. Na kartě Název stačí vyplnit název verze PHP (např. PHP 7.1) – tato verze PHP bude uvedena pod tímto názvem v nastavení webu v ISPConfig:
Přejděte na kartu Nastavení FastCGI a vyplňte pole následovně:
Path to the PHP FastCGI binary: /opt/php-7.1/bin/php-cgi Path to the php.ini directory: /opt/php-7.1/lib
Poté na kartě Nastavení PHP-FPM vyplňte následující pole:
Path to the PHP-FPM init script: php-7.1-fpm Path to the php.ini directory: /opt/php-7.1/lib Path to the PHP-FPM pool directory: /opt/php-7.1/etc/php-fpm.d
Nyní by již vše mělo být funkční. V nastavení webu nyní existuje nová verze PHP, na kterou můžete web přepnout.