En aquest xicotet article explique com he solventat l'error de "Call to undefined function gzcompress()" que m'apareixia durant la instal·lació d'un Drupal 10 nou.
L'error en concret és Error: Call to undefined function image() in Drupal\Component\Utility\gzcompress() i no em permetia fer la instal·lació d'aquesta última versió 10.2.2.
Primer de tot he mirat si em faltava alguna extensió de PHP però tenia tots els requisits instal·lats:
# php -m
[PHP Modules]
bz2
Core
curl
date
dom
filter
gd
hash
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_mysql
random
Reflection
session
SimpleXML
SPL
standard
tokenizer
xml
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
La meua solució ha segut al final editar el fitxer php.ini:
vi /usr/local/etc/php.ini
I he passat del valor Off a On:
; Transparent output compression using the zlib library
; Valid values for this option are 'off', 'on', or a specific buffer size
; to be used for compression (default is 4KB)
; Note: Resulting chunk size may vary due to nature of compression. PHP
; outputs chunks that are few hundreds bytes each as a result of
; compression. If you prefer a larger chunk size for better
; performance, enable output_buffering in addition.
; Note: You need to use zlib.output_handler instead of the standard
; output_handler, or otherwise the output will be corrupted.
; https://php.net/zlib.output-compression
zlib.output_compression = On
Finalment reiniciem el servei d'Nginx amb:
doas service php-fpm restart