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.
Obsah
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