首页 > 解决方案 > 警告:session_start():找不到保存处理程序“redis”

问题描述

我想将 php.ini 设置为使用 Redis 作为会话处理程序。我是这样做的:

session.save_handler = redis
session.save_path = tcp://172.17.0.2:6379

我的 Php 应用程序和 Redis 在 2 个不同的容器中运行。这是我试图在 PHP 中运行的代码:

<?php
if(!isset($_SESSION)){
        session_start();
}
?>

由于我的搜索,我发现我应该安装:

sudo apt-get install php5-redis

E: Unable to locate package php5-redis 我也试过: php-redis, php7-redis,php7.4-redis和相同的结果。结果apt-cache search php | grep -i redis是:

libphp-predis - Flexible and feature-complete PHP client library for the Redis key-value store

怎么了?

标签: phpdockerredisdebiancontainers

解决方案


你需要使用pecl来安装redis:

pecl install redis

更多细节在这里

如果您使用 docker insert 到 Dockerfile 中:

RUN pecl install redis \
&& docker-php-ext-enable redis

推荐阅读