PHP 8.2.0 + Redis Object Cache + Nginx + WordPress

Redis Object Cache včetně všech kompresí a serializéru u poslední stabilní verze PHP 8.1 funguje. V porovnání s v listopadu očekávanou verzi PHP 8.2 bez výjimek. Pro verze 8.2 v Linux distribucích založených na Debian Linux prozatím (sic lze najít k instalaci vše) „nefunguje“ automatická instalace komprese LZ4, serializér igbinary ani php-redis rozšíření. Instalace jmenovaných vypadá standardně, následně ale kupříkladu Wordpress plugin Redis Object Cach nedetekuje zádný zavedený modul. Vše z repo jsme tedy odinstalovali a pokusil se instalaci vyřešit pomocí PECL.

Redis; Konsekvence ppa:ondrej/php repo

Tradiční, oblíbené a hojně používané linuxové repo pro multi PHP instalace. Nejsnažší cesta jak do aktuální linuxové distribuce nainstalovat i aktuální verzi PHP. Pokud ale u Debian 10 nebo Debian 11 provedete upgrade z PHP 7.4 na verzi 8.1 nebo 8.2 a nenainstalujete k povýšené verzi PHP balíček php8.1-dev respektive php-8.2-dev, kompilace (PECL instalace) nových PHP rozšíření proběhne pod původním, starším PHP API..

Kompilováno bez ZSTD komprese

Checking for libzstd files in default path… not found configure: error: Please reinstall the libzstd distribution.. Chybovou hlášku php rozšíření lze vyřešit prostou instalaci dev balíčku zstd před samotnout instalací zstd

apt install libzstd-dev

zstd

pecl install zstd

lzf

Failed to initialize object cache: PhpRedis was not compiled with LZF compression support, see For more information about enabling compressions see..

pecl install lzf

igbinary

pecl install igbinary

redis

pecl install redis
downloading redis-5.3.7.tgz ...
Starting to download redis-5.3.7.tgz (275,200 bytes)
.........................................................done: 275,200 bytes
31 source files, building
running: phpize
Configuring for:
PHP Api Version:         20220829
Zend Module Api No:      20220829
Zend Extension Api No:   420220829
enable igbinary serializer support? [no] : ....

Aktuální PHP API, Zend Module Api no a Zend Extension Api No lze získat příkazem

 phpize -v

API verze dle vydání

PHP 7.0.0         20151012
PHP 7.3.0         20180731
PHP 7.4.0         20210902
PHP 8.2.0         20220829

php.ini

U verze PHP 8.1 je po instalaci každého modulu vytvoření samostatný soubor s load module direktivou. U verze 8.2 nikoliv. I každý modul instalovaný pomocí PECL je obvykle nutné přidat ručně do souboru php.ini na což budete u instalace každého modul v konzole upozorněni. Cesta k php.ini

nano /etc/php/8.2/fpm/php.ini

Obsah php.ini po instalaci modulů

extension=igbinary.so
extension=lzf.so
extension=zstd.so
extension=redis.so

Užitečné

Text WordPress plugin Object Cache Pro
Domovská stránka objektové keše Redis

ICTIS.CZ