Install the PHP Redis extension
The Redis extension provides client access to the Redis server.
The Redis extension supports PHP 5.6 through PHP 8.4. The Redis extension is not yet supported in PHP 8.5.
Install the Redis extension
Installing the extension involves the following steps:
- Install build dependencies (packages that are required to build the extension).
- Build the extension’s library file.
- Enable the extension in the PHP configuration.
Install build dependencies
Set environment variables for the package manager.
export DEBIAN_FRONTEND=noninteractiveInstall a compiler and other packages that are required for building PHP extensions.
sudo apt-get -y install gcc g++ make autoconf libc-dev pkg-configBuild the extension
The PECL install command compiles the extension’s .so library file.
yes '' | sudo pecl8.4-sp install redisyes '' | sudo pecl8.3-sp install redisyes '' | sudo pecl8.2-sp install redisyes '' | sudo pecl8.1-sp install redisyes '' | sudo pecl8.0-sp install redisyes '' | sudo pecl7.4-sp install redisyes '' | sudo pecl7.3-sp install redisyes '' | sudo pecl7.2-sp install redisyes '' | sudo pecl7.1-sp install redisyes '' | sudo pecl7.0-sp install redisThe last version of the PHP redis extension that supports PHP 5.6 is version 2.2.8.
yes '' | sudo pecl5.6-sp install redis-2.2.8Enable the extension
Configure PHP to load the extension.
sudo bash -c "echo extension=redis.so > /etc/php8.4-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php8.3-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php8.2-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php8.1-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php8.0-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php7.4-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php7.3-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php7.2-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php7.1-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php7.0-sp/conf.d/redis.ini"sudo bash -c "echo extension=redis.so > /etc/php5.6-sp/conf.d/redis.ini"Restart PHP-FPM.
sudo service php8.4-fpm-sp restartsudo service php8.3-fpm-sp restartsudo service php8.2-fpm-sp restartsudo service php8.1-fpm-sp restartsudo service php8.0-fpm-sp restartsudo service php7.4-fpm-sp restartsudo service php7.3-fpm-sp restartsudo service php7.2-fpm-sp restartsudo service php7.1-fpm-sp restartsudo service php7.0-fpm-sp restartsudo service php5.6-fpm-sp restartVerify the extension is enabled in PHP.
php8.4-sp -i | grep redisphp8.3-sp -i | grep redisphp8.2-sp -i | grep redisphp8.1-sp -i | grep redisphp8.0-sp -i | grep redisphp7.4-sp -i | grep redisphp7.3-sp -i | grep redisphp7.2-sp -i | grep redisphp7.1-sp -i | grep redisphp7.0-sp -i | grep redisphp5.6-sp -i | grep redisIf the extension is enabled, you will see output like the following.
/etc/php8.4-sp/conf.d/redis.ini,redisredis.arrays.algorithm => no value => no valueredis.arrays.auth => no value => no valueredis.arrays.autorehash => 0 => 0redis.arrays.connecttimeout => 0 => 0...Uninstall the Redis extension
Uninstalling the extension involves the following steps:
- Disable the extension in the PHP configuration.
- Remove the extension’s library file.
Disable the extension
Remove the extension’s configuration from PHP.
sudo rm /etc/php8.4-sp/conf.d/redis.inisudo rm /etc/php8.3-sp/conf.d/redis.inisudo rm /etc/php8.2-sp/conf.d/redis.inisudo rm /etc/php8.1-sp/conf.d/redis.inisudo rm /etc/php8.0-sp/conf.d/redis.inisudo rm /etc/php7.4-sp/conf.d/redis.inisudo rm /etc/php7.3-sp/conf.d/redis.inisudo rm /etc/php7.2-sp/conf.d/redis.inisudo rm /etc/php7.1-sp/conf.d/redis.inisudo rm /etc/php7.0-sp/conf.d/redis.inisudo rm /etc/php5.6-sp/conf.d/redis.iniRestart PHP-FPM.
sudo service php8.4-fpm-sp restartsudo service php8.3-fpm-sp restartsudo service php8.2-fpm-sp restartsudo service php8.1-fpm-sp restartsudo service php8.0-fpm-sp restartsudo service php7.4-fpm-sp restartsudo service php7.3-fpm-sp restartsudo service php7.2-fpm-sp restartsudo service php7.1-fpm-sp restartsudo service php7.0-fpm-sp restartsudo service php5.6-fpm-sp restartRemove the extension
The PECL uninstall command removes the extension’s .so library file.
sudo pecl8.4-sp uninstall redissudo pecl8.3-sp uninstall redissudo pecl8.2-sp uninstall redissudo pecl8.1-sp uninstall redissudo pecl8.0-sp uninstall redissudo pecl7.4-sp uninstall redissudo pecl7.3-sp uninstall redissudo pecl7.2-sp uninstall redissudo pecl7.1-sp uninstall redissudo pecl7.0-sp uninstall redissudo pecl5.6-sp uninstall redis